有人可以告诉我如何编写T-SQL查询以将日期范围从当月的第1天返回到永久?
换句话说,所有记录的日期都大于2012年8月1日。
谢谢!
编辑:SQL Server 2000 我不需要日期范围。我只需要在当月开始之后的所有日期。但是由于我不知道,我无法对当月进行硬编码。
答案 0 :(得分:1)
我假设你想要从这个月开始的一切,“大于或等于”不是“大于”。如果您的措辞准确无误,请将>=
更改为>
:
SELECT x
FROM dbo.table_name
WHERE DateColumn >= DATEADD(MONTH,
DATEDIFF(MONTH, '20000101', CURRENT_TIMESTAMP), '20000101');
答案 1 :(得分:0)
“所有记录的日期都大于2012年8月1日”:
select 42 from MyTable where MyDate > Convert( Date, '20120801', 112 )
这应该避免一些国际化问题。