使用日期函数使日期仅少于特定日期

时间:2014-09-11 10:38:50

标签: sql sql-server database tsql

我有一个名为tableA的表,其中TrasactionDate为一个字段。我有一个名为myfixeddate的特定日期(比如2014-03-08)。

我希望在4个月内获得TransactionDate,但只能在myfixeddate的{​​{1}}('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 个答案:

答案 0 :(得分:1)

您可以尝试这样:

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