我想检索日期字段设置为未来月份的记录
这看起来是否正确
Select * from table1 WHERE
datesetto >MONTH(dateadd(dd, -1, GetDate())))
答案 0 :(得分:1)
select * from tablename where month(columndate)>month(getdate()) and
year(columndate)>=year(getdate())
答案 1 :(得分:0)
试试这个:
Select * from table1 WHERE
((DATEPART(MONTH,datesetto) > DATEPART(MONTH,GETDATE())
AND DATEPART(YEAR,datesetto) = DATEPART(YEAR,GETDATE()))
OR (DATEPART(YEAR,datesetto) > DATEPART(YEAR,GETDATE())))
DATEPART(Month,GETDATE())
会给出当前日期的月份,然后您可以将其与datesetto
更新:上述查询将提供大于当月的任何月份的数据以及当年比当年更大的任何月份。
答案 2 :(得分:0)
SELECT * FROM table1
WHERE datesetto >= DATEADD(month, DATEDIFF(month, 0, getdate())+1, 0)
说明:
DATEDIFF(month, 0, getdate())
计算自1900-01-01以来经过的月数。DATEADD(month, DATEDIFF(month, 0, getdate()), 0)
返回本月初。DATEADD(month, DATEDIFF(month, 0, getdate())+1, 0)
返回下个月的开头。