
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.01.2017, 15:16
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
Доброго времени суток. Подскажите как вывести последний день рабочего дня месяца в периоде между датами select trunc(p.Date_Begin) [Дата Начала] , trunc(p.Date_End) [Дата Окончания] , trunc(p.Date_End) - trunc(p.Date_begin) [Кол-во дней между датами] , MONTHS_BETWEEN(trunc(p.Date_End), trunc(p.Date_begin)) [Кол-во месяцев между датами] , ...???? [Последний рабочий день за период месяцев ] from table p where p.Date_begin <= '01.01.2017' and ( p.Date_End > '01.01.2017' or p.Date_End is null) помогите с запросом. Как получить такой результат. [Дата Начала] [Дата Окончания] [Кол-во дней между датами] [Кол-во месяцев между датами] [Кол-во месяцев между датами] '26.12.2016' | '26.06.2017' | 182 | 6 | 31.01.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 28.02.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 31.03.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 28.04.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 31.05.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 26.06.2017 Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:18
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
Опечатался [Дата Начала] [Дата Окончания] [Кол-во дней между датами] [Кол-во месяцев между датами] [Послед рабочий день месяца] '26.12.2016' | '26.06.2017' | 182 | 6 | 31.01.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 28.02.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 31.03.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 28.04.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 31.05.2017 '26.12.2016' | '26.06.2017' | 182 | 6 | 26.06.2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:25
|
|||
|---|---|---|---|
|
|||
Вопрос с датами |
|||
|
#18+
Легко: select 'МЕСЯЦ - последний день',last_day(trunc(sysdate)) from dual; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:30
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
Oleg M.Ivanov, last_day(trunc(sysdate)) последний день месяца, вот в апреле последний рабочий день месяца 28 число, а запрос вернет 30 что не верно, т.к. 30 это воскресенье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:32
|
|||
|---|---|---|---|
|
|||
Вопрос с датами |
|||
|
#18+
Oleg M.IvanovЛегко: select 'МЕСЯЦ - последний день',last_day(trunc(sysdate)) from dual; Это последний день месяца, а с рабочими днями как-то так: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:33
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
maxwait, но это не проблема найти последний рабочий день месяца, нашел вот такой запрос select last_day('01.04.2017') - case trim(to_char(last_day('01.04.2017'), 'DAY', 'NLS_DATE_LANGUAGE=ENGLISH')) when 'SUNDAY' then 2 when 'SATURDAY' then 1 else 0 end from dual; Но я не могу сообразить как его применить в моем случае, т.е. мне надо параметром передать в дату 01.01.2017, и так все 6-то месяцев чтобы получить Послед рабочий день месяца 31.01.2017 28.02.2017 31.03.2017 28.04.2017 31.05.2017 26.06.2017 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:34
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
maxwaitвот в апреле последний рабочий день месяца 28 число а календать исключений уже создал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:35
|
|||
|---|---|---|---|
|
|||
Вопрос с датами |
|||
|
#18+
maxwait последний рабочий день месяца 28 числоой не факт.за то, что попутал бд, могут и раньше последний рабочий день устроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:38
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
123йй, нет, календарь исключений еще не создал, хоть так для начала сделать, а потом уже и про исключения думать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:38
|
|||
|---|---|---|---|
Вопрос с датами |
|||
|
#18+
мартец, Ну, надеюсь что не устроят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.01.2017, 15:44
|
|||
|---|---|---|---|
|
|||
Вопрос с датами |
|||
|
#18+
maxwaitНо я не могу сообразить как его применить в моем случае, т.е. мне надо параметром передать в дату 01.01.2017, и так все 6-то месяцев чтобы получить Послед рабочий день месяца Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1886599]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 436ms |

| 0 / 0 |
