示例数据:
sDate NAME
2010-03-28 Andrew
2011-05-10 Drew
2010-04-11 Clary
2009-12-26 Kriz
我想整理出来,以便输出只显示从01/01/11到今年的那些。是否有自动语法,以便我不会将我的sql语句更改为今天的日期,但它将始终显示今年的年份?
Example of my statement:
SELECT *
FROM 'mytable'
Where sDate BETWEEN '2011-01-01' AND '2011-08-09'
答案 0 :(得分:4)
您应该可以使用GETDATE()功能,如下所示:
SELECT *
FROM 'mytable'
Where sDate BETWEEN '2011-01-01' AND GETDATE()
答案 1 :(得分:4)
不需要硬编码日期。 DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0)
将为您提供当年的第一天。所以:
...WHERE sDate BETWEEN DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AND GETDATE()
答案 2 :(得分:2)
一个简单的
... WHERE sDate => '2011-01-01'
会这样做,假设您在该表中从未有过“未来”日期。