2014-09-11 2 views
1

У меня есть таблица с именем tableA с TrasactionDate как одно поле. У меня определенная дата: myfixeddate (скажем, это 2014-03-08).Получение дат только за определенную дату с использованием функций даты

Я хочу, чтобы получить TransactionDate в течение 4 месяцев, но только до моей фиксированной даты myfixeddate ('2014-03-08') от tableA. Скажем, мой запрос должен дать '2014-03-06','2014-03-05','2014-02-01',....

Но когда я использую следующий запрос:

SELECT TrasactionDate 
FROM tableA 
WHERE datediff(mm,Transdate,myfixeddate) < 4 

Это дает TransactionDate в обоих направлениях (до и после). Это означает, что результат дал '2014-03-10','2014-03-18' с нужными '2014-03-05',....

Не могли бы вы рассказать мне, как предотвратить это и какой код мне нужно использовать, чтобы получить TransactionDate в одном направлении?

ответ

1

Вы можете попробовать так:

Select TrasactionDate from tableA 
where [TrasactionDate] between DATEADD(month, -4, myfixeddate) and myfixeddate 
+0

Спасибо так много. Оно работает. – Explorer

Смежные вопросы