I have a date, suppose today date
declare @d datetime
set @d = \'20101014\'
I need
select @d -
<
You can use DATEADD:
select DATEADD(month, -6, @d)
EDIT: if you need the number of days up to 6 months ago you can use DATEDIFF:
select DATEDIFF(day, @d, DATEADD(month, -6, @d))
Also check this up (developing this theme):
i need to choose the algorythm depending on the condition - if there are as many days between two dates as in 6 month (ago from the last date).
I did it in this way:
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