Я не рекомендую использовать between
для этой цели. Я предпочитаю иметь код, который работает как на date
s, так и на datetime
s без изменений.
Кроме того, SQL Server имеет удобную функцию datefromparts()
. Итак, я рекомендую:
WHERE date >= DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 1) AND
date < CONVERT(DATE, DATEADD(DAY, 1, GETDATE()))