Также проверьте это (развивая эту тему):
мне нужно выбрать алгоритм в зависимости от условия - если между двумя датами столько же дней, сколько в 6 месяце (назад от последней даты).
Я сделал это так:
case
when
DATEDIFF(day, DATEADD(month, -6, @pDateEnd), @pDateEnd)
>
DATEDIFF(day, @pDateBegin, @pDateEnd)
then 'there is no 6-month difference between two dates'
else 'there is 6-month difference ore more between two dates'
end