我正在使用SQLSERVER 2016,我有一个表格(时间表),其中包含以下数据:
ID | Descrizione | OraInizio | OraFine |
---|---|---|---|
1 | Morning | 06:00:00 | 13:00:00 |
2 | Afternoon | 13:00:01 | 19:00:00 |
3 | Night | 19:00:01 | 05:59:59 |
现在,我需要使用DateTime从该表中提取ID,因此我编写了以下查询:
DECLARE @DATA AS DATETIME = '11-09-2023 00:30:00'
SELECT *
FROM TIMETABLE
WHERE Convert(time(2), Convert(smalldatetime, @DATA)) BETWEEN ORAINIZIO AND ORAFINE
现在这个查询不起作用了:它应该提取ID=3,因为时间00:30在夜间范围内.
我如何更改我的查询以解决此问题?