2009-09-30 81 views
1

我想要一个SQL查询来检查给定的时间戳是否在业务的开放时间内。这些营业时间根据一年中的时间(季节性时间)而变化,并且某些节假日营业关闭。我有这些日期的列表,虽然它们可能会发生变化。确定时间戳是否在季节性工作时间内的最佳方法是什么?

我要的是一个很好的结构,在数据库中存储这些信息,看起来像这样的功能:

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

我将在plpgsql上的PostgreSQL 8.2.x写这篇,如果使一个区别。

回答

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 

你所以只能把你的开放时间。其他任何东西都是“关闭”

相关问题