Misalnya saja Anda dapat menggunakan ini
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
Tapi ini sebenarnya bukan solusi!!!
Cara terbaik adalah dengan memperkenalkan 1 kolom terhitung lagi sebagai
NewColumn AS DATEPART(HOUR, DateColumn)*100+DATEPART(minute, DateColumn)
Buat indeks di atasnya dan gunakan di mana klausa
WHERE NewColumn BETWEEN 1220 AND 1550