DailyAvailability テーブルに 34 個のブール フィールドがあります
TimeSlot1, TimeSlot2, .....TimeSlot34
34タイムスロット対応
07:00AM-07:30AM, 07:30AM-08:00AM, .... , 11:30PM-12:00PM
現在のタイムスロットと一致するレコードを取得するにはどうすればよいですか 3:30PM-4:00PM (からGETDATE()
またはで構築する必要がありますDATEDIFF
)
問題は、TimeSlot1 が単純なブール フィールドであり、実際に時間にマップされていないことです。
現在のクエリは
SELECT *
FROM DailyAvailability
WHERE Present = 1
AND AvailDate = LEFT(CONVERT(VARCHAR(20), GETDATE(),120),10)
AND ... // TimeSlotX = 1
最後の AND を WHERE 部分に実装するにはどうすればよいですか?
動的 SQL ?