powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вычисление даты +N рабочих дней
4 сообщений из 4, страница 1 из 1
вычисление даты +N рабочих дней
    #35292960
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо вычислить дату со смещением в рабочих днях.
Не могу сообразить - как?

Обратная задача - вычислить сколько рабочих дней между датами решается легко:
Код: plaintext
1.
2.
3.
4.
5.
6.
select count(dow) from(
select extract( 'isodow' from SS.datum)::int as dow, SS.datum as datum from
(
select ('2008-05-04'::date + S*'1 day'::interval) as datum from
generate_series( 0 , date ('2008-05-04'::date+'10 days'::interval) - '2008-05-04'::date) as S
) as SS) as SSS
where SSS.dow <> 7  and SSS.dow <> 6 ;

Нашел contrib на C, который эмулирует функции Оракла:
http://www.pgsql.cz/index.php/Oracle_functionality_(en)#PLVdate

В нем есть региогнальные праздники, они зашиты прямо в код. Некрасиво.
Но я хотел бы чистое plpgql решение, чтобы можно было делать JOIN со своими справочниками праздников.
...
Рейтинг: 0 / 0
вычисление даты +N рабочих дней
    #35292978
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tadminНеобходимо вычислить дату со смещением в рабочих днях.
Не могу сообразить - как?А чем не устраивает генерировать таблицу-календарь рабочих дней в каждом конкретном году? Туда же можно свои праздники добавлять и удалять, когда захочется :)
...
Рейтинг: 0 / 0
вычисление даты +N рабочих дней
    #35293065
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan BlackА чем не устраивает генерировать таблицу-календарь рабочих дней в каждом конкретном году? Туда же можно свои праздники добавлять и удалять, когда захочется :)у меня так сделано :)
раз в год ответственный оператор заходит на сайт российской газеты где через поиск находит постановление правительста начинающееся со слов "О переносе выходных дней в" и в соответствии с ним - заполняет через интерфейс таблицу week_days. там у них ещё есть календарик (например http://www.rg.ru/calendar2008 ), но я не знаю когда он обновляется...
выходным считается тот день, дата которого присутствует в этой таблице. соответственно и посчитать сколько праздников или рабочих дней в интервале не составляет труда: count(wday) * '1 day'::interval from week_days where wday between ...
...
Рейтинг: 0 / 0
вычисление даты +N рабочих дней
    #35293368
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, господа, вы правы.
count по таблице удобнее всего.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / вычисление даты +N рабочих дней
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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