2009-09-30 23 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 

你所以只能把你的開放時間。其他任何東西都是「關閉」

相關問題