我在 DailyAvailability 表中有 34 个布尔字段
TimeSlot1, TimeSlot2, .....TimeSlot34
对应34个时隙
07:00AM-07:30AM, 07:30AM-08:00AM, .... , 11:30PM-12:00PM
如何获取与当前时间段匹配的记录,例如 3:30PM-4:00PM(需要从GETDATE()
或 with构建它DATEDIFF
)
问题是 TimeSlot1 是简单的布尔字段,没有实际映射到时间。
当前查询是
SELECT *
FROM DailyAvailability
WHERE Present = 1
AND AvailDate = LEFT(CONVERT(VARCHAR(20), GETDATE(),120),10)
AND ... // TimeSlotX = 1
如何在 WHERE 部分实现最后一个 AND?
动态SQL?