从今年开始选择大于5年前的所有年份

时间:2013-08-20 18:19:03

标签: sql sql-server tsql sql-server-2008-r2

 a          b
 1          2009
 2          2007
 3          2006
 4          2010
 5          2011

如何从今年起选择5年以前的所有年份?

So it would be like 2013(year today) - 5 = 2008
 a          b
 1          2009
 4          2010
 5          2011

我试过了:

select * from table1 where b > CURRENT_TIMESTAMP - 5

我使用smallint作为b列的数据类型而不是日期,因为我只存储年份。使用小型int存储年份是否安全?

2 个答案:

答案 0 :(得分:7)

你很亲密:

select * from table1 where b > YEAR(CURRENT_TIMESTAMP) - 5

答案 1 :(得分:6)

select * from table1 where b > DATEADD(YEAR,-5,GETDATE())

也应该有用