アプリケーションの 1 つに機能を追加しようとしています。以下にサンプルを示します。
会社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 で datetime を使用することですが、各日 (日曜日から土曜日) ごとに 7 つの列を作成し、開始時刻から終了時刻までの異なる列を作成する必要があるようです。
次のアイデアは、これらの列を検索可能にして、フィルター処理できるようにすることです。たとえば、ユーザーが月曜日の午後 12 時を検索した場合、検索は月曜日 (開始時間) <= (ユーザー検索、午後 12 時) <= (終了時間) になります。
したがって、基本的には次のようになります。
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 です。問題は、上記のテクノロジを使用してこの機能をどのように設計/実装するかです。
任意のアイデア/ヒントをいただければ幸いです。ありがとう!