Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по работе с датами / 11 сообщений из 11, страница 1 из 1
12.07.2018, 23:26
    #39673412
Milib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
Подскажите, пожалуйста, как решить вот такую задачу:
Выведите сотрудников, у которых в следующем месяце будет годовщина выхода на работу.
имеется поле типа дата - дата принятия на работу сотрудника.
Спасибо большое!
...
Рейтинг: 0 / 0
13.07.2018, 04:00
    #39673465
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
...
Рейтинг: 0 / 0
13.07.2018, 04:32
    #39673468
Dr. SYS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
...
Рейтинг: 0 / 0
13.07.2018, 05:07
    #39673471
982183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
И всё это надо сделать на/в Oracle ?
...
Рейтинг: 0 / 0
13.07.2018, 09:00
    #39673513
Dshedoo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
Если у вас есть подготовленные данные, то:
Код: plsql
1.
2.
Select * from employeers t 
where t.godovщina_in_next_month = 'Y'



Если нет, то:

Код: plsql
1.
2.
3.
Select * 
 from employeers t
where to_char(t.hire_date,'MM') = to_char(add_months(sysdate,1),'MM')
...
Рейтинг: 0 / 0
13.07.2018, 20:59
    #39673903
Milib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
DshedooЕсли у вас есть подготовленные данные, то:
Код: plsql
1.
2.
Select * from employeers t 
where t.godovщina_in_next_month = 'Y'



Если нет, то:

Код: plsql
1.
2.
3.
Select * 
 from employeers t
where to_char(t.hire_date,'MM') = to_char(add_months(sysdate,1),'MM')



Второй вариант как раз то, что надо. Я пытался через extract работать, но получилось не очень. В декабре месяце extract работает некорректно. Спасибо большое!
...
Рейтинг: 0 / 0
14.07.2018, 07:17
    #39673934
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
MilibВ декабре месяце extract работает некорректноУ тебя просто руки кривые.
...
Рейтинг: 0 / 0
14.07.2018, 09:11
    #39673946
Milib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
ElicMilibВ декабре месяце extract работает некорректноУ тебя просто руки кривые.
Может быть можно было бы решить делением с остатком, но решил поискать другое решение.
...
Рейтинг: 0 / 0
14.07.2018, 12:10
    #39673972
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
MilibElicпропущено...
У тебя просто руки кривые.
Может быть можно было бы решить делением с остатком, но решил поискать другое решение.

Может таки Elic не ошибся?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with t as (select add_months(to_date('01.12.2017','dd.mm.yyyy'),level) dt from dual connect by level <= 12)
select to_char(dt,'dd.mm.yyyy') dt, 
extract( month from dt) extr_m, 
to_char(dt,'mm') char_m
from t

DT	        EXTR_M	CHAR_M
01.01.2018	1	01
01.02.2018	2	02
01.03.2018	3	03
01.04.2018	4	04
01.05.2018	5	05
01.06.2018	6	06
01.07.2018	7	07
01.08.2018	8	08
01.09.2018	9	09
01.10.2018	10	10
01.11.2018	11	11
01.12.2018	12	12
...
Рейтинг: 0 / 0
14.07.2018, 15:23
    #39674012
Milib
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
MaximaXXLMilibпропущено...

Может быть можно было бы решить делением с остатком, но решил поискать другое решение.

Может таки Elic не ошибся?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
with t as (select add_months(to_date('01.12.2017','dd.mm.yyyy'),level) dt from dual connect by level <= 12)
select to_char(dt,'dd.mm.yyyy') dt, 
extract( month from dt) extr_m, 
to_char(dt,'mm') char_m
from t

DT	        EXTR_M	CHAR_M
01.01.2018	1	01
01.02.2018	2	02
01.03.2018	3	03
01.04.2018	4	04
01.05.2018	5	05
01.06.2018	6	06
01.07.2018	7	07
01.08.2018	8	08
01.09.2018	9	09
01.10.2018	10	10
01.11.2018	11	11
01.12.2018	12	12



Ну, вот кодировать много приходится с этим экстрактом, поэтому решил найти другой путь. Раз уж дали задание в начале занятий, когда мы много чего еще не прошли, значит есть другое более простое решение. Спасибо за еще одно альтернативное решение задачи! Оно может пригодится позже.
...
Рейтинг: 0 / 0
15.07.2018, 09:33
    #39674098
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по работе с датами
Milibесть другое более простое решениеПроще, чем применение функции/оператора быть не может. extract наименее затейливое решение и наиболее очевидное, если листаешь документацию впервые.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос по работе с датами / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]