T-SQL:从日期表中获取当前+前几年

时间:2013-04-25 15:34:48

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

我的日期表中有2009年至2015年的年份值。 我只想从Min(年)到Current(年)获得数年。

我怎样才能做到这一点?

谢谢

3 个答案:

答案 0 :(得分:3)

只需选择“小于或等于”当前年份

select * from table where datepart(year, date) <= datepart(year, getdate())

答案 1 :(得分:1)

我认为你正在寻找的是这样的东西:

SELECT *
  FROM yourTable
  WHERE year BETWEEN (SELECT MIN(year) FROM yourTable) AND DATEPART(year, GETDATE())

或者,如果您没有年限,而是完整日期:

SELECT *
  FROM yourTable
  WHERE theDate BETWEEN (SELECT DATEPART(year, MIN(theDate)) FROM yourTable) AND DATEPART(year, GETDATE())

答案 2 :(得分:1)

我认为最简单的是:

select *
from t
where YearValue <= year(getdate())

最小值自行处理 - 在最短年份之前没有数据。