我想从sql server
打印下四个月的数据column_name
2016-10-31
2016-07-31
2016-08-31
2016-09-30
2017-10-31
2015-07-31
2019-08-31
2017-09-30
2016-11-30
我想像这样输出
2016-10-31
2016-08-31
2016-09-30
2016-11-30
当前查询:
SELECT relieve_date
FROM table
WHERE DATEPART(m, relieve_date) = DATEPART(m, DATEADD(m, +4, getdate())) AND DATEPART(yyyy, relieve_date) = DATEPART(yyyy, DATEADD(m, -1, getdate()))
答案 0 :(得分:0)
您的查询已结束,但需要一个范围(<=
,>=
)而不是=
。如果您使用DATEADD
:
SELECT relieve_date
FROM table
WHERE relieve_date >= DATEADD(month, 1, getdate())
AND relieve_date <= DATEADD(month, 4, getdate())
另一个选项是BETWEEN
,它也使用(<=
,>=
)逻辑:
SELECT relieve_date
FROM table
WHERE relieve_date BETWEEN DATEADD(month, 1, getdate()) AND DATEADD(month, 4, getdate())