たとえば、これを使用できます
DECLARE @min FLOAT = CAST(CAST('19000101 12:20' AS DATETIME) AS FLOAT), @max FLOAT = CAST(CAST('19000101 15:50' AS DATETIME) AS FLOAT) SELECT * FROM table WHERE CAST(DateField AS FLOAT) - FLOOR(CAST(DATEFIELD AS FLOAT)) BETWEEN @min AND @max
プレ>しかし、これは実際には解決策ではありません!!!
最善の方法は、
として計算列をもう 1 つ導入することです。NewColumn AS DATEPART(HOUR, DateColumn)*100+DATEPART(minute, DateColumn)
プレ>その上にインデックスを作成し、where 句で使用します
WHERE NewColumn BETWEEN 1220 AND 1550
プレ>