我想在我的一個應用程序中添加一個功能。下面是一個示例:需要設計思路:C#和SQL Server的可搜索時間/日期時間
公司ABC
Business hours:
Sunday closed
Monday 7am - 5pm
Tuesday 7am - 5pm
Wednesday 7am - 5pm
Thursday 7am - 5pm
Friday 7am - 5pm
Saturday closed
公司DEF
Sunday 10am - 12pm
Monday 8am - 4pm
Tuesday 8am - 4pm
Wednesday 8am - 4pm
Thursday 8am - 4pm
Friday 8am - 4pm
Saturday closed
現在,我想要做的是讓我的用戶能夠搜索/過濾營業時間。例如,只返回週一下午2點或週六下午1點或週一開放的商家。
我的想法是在SQL Server中使用日期時間,但現在看來我可能需要每天做7列(星期日至星期六)和起動時間開到打烊時間來打開不同的列。
下一個想法是使這些列可搜索,以便我能夠過濾它們。例如,如果用戶搜索星期一12PM,則搜索將是星期一(開放時間)< =(用戶搜索,12pm)< =(關閉時間)。
所以基本上,這將是類似於:
SELECT *
FROM Companies
WHERE [user_search_time] IS "BETWEEN open_time AND close_time WHERE day=[user_search_day]
我有一個很難設計這個,更不用說如何實現它。
使用的技術是C#/ ASP.Net和SQL Server 2008. 問題是如何使用上述技術設計/實現此功能。
任何想法/技巧將不勝感激。謝謝!