确定时间戳是否属于季节性工作时间的最佳方法是什么?

时间:2009-09-30 21:06:13

标签: sql postgresql stored-procedures business-logic

我想要一个SQL查询来检查给定时间戳是否属于业务的开放时间。这些营业时间根据一年中的时间(季节性营业时间)而变化,并且某些假期的营业时间将关闭。我有一份这些日期的清单,虽然它们可能会有所变化。

我想要的是一个用于在数据库中存储此信息的良好结构,以及一个如下所示的函数:

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

我会在PostgreSQL 8.2.x上的plpgsql中写这个,如果这有所不同。

2 个答案:

答案 0 :(得分:2)

我会建议你打开的日期范围,以及时间。

date_start, date_end, time_open, time_close 

查询可能如下所示:

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

你只是把你的开放时间。其他任何事情都是“封闭的”

答案 1 :(得分:0)

我建议将数据(日期,开放时间,关闭时间)放入表格并让您的查询从那里进行选择。