Самый быстрый способ начиная с 2008:
Код: Выделить всё
SELECT CONVERT(date, GETDATE())
Код: Выделить всё
SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
Код: Выделить всё
SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
SELECT DATEFROMPARTS(YEAR(@now), MONTH(@now), 1)
Даны два диапазона:
1) dtb1 ... dte1
2) dtb2 ... dte2
Условие пересечения:
dtb1 <= dte2 and dte1 >= dtb2
Условие не пересечения:
dtb1 > dte2 or dte1 < dtb2