Как лучше всего определить, попадает ли временная метка в сезонные рабочие часы? - PullRequest
1 голос
/ 01 октября 2009

Я хочу, чтобы SQL-запрос проверял, попадает ли данная временная метка в нерабочие часы предприятия. Эти часы работы меняются в зависимости от времени года (сезонные часы), и в определенные праздничные дни бизнес закрыт. У меня есть список этих дат, хотя они могут быть изменены.

Мне нужна хорошая структура для хранения этой информации в базе данных и функция, которая выглядит следующим образом:

CREATE OR REPLACE FUNCTION is_business_open(event TIMESTAMP) RETURNS BOOLEAN AS $_$
...
$_$

Я напишу это в plpgsql на PostgreSQL 8.2.x, если это изменит.

Ответы [ 2 ]

2 голосов
/ 01 октября 2009

Я бы предложил диапазоны дат, которые вы открываете, а также время.

date_start, date_end, time_open, time_close 

Запрос может выглядеть так:

select time_open, time_close from hours_table where date_start < @DateInput and @DateInput < date_end 

Ты так только ставь свои открытые часы. Все остальное «закрыто»

0 голосов
/ 01 октября 2009

Я бы предложил поместить данные (дату, время открытия, время закрытия) в таблицу и получить оттуда запрос на выбор.

...