检查sql中的日期是否超过1年

时间:2013-08-06 09:18:18

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

ID  Source  Date           Desc      flgdeladvsourcedetails
22  5       1-Oct-12       a              NULL
23  5       1-Nov-12       b              NULL
24  5       1-Dec-12       c              NULL
25  5       1-Nov-12       d              NULL
26  5       1-Dec-12       e              NULL
27  5       1-Sep-12       f              NULL
28  5       24-Sep-12      g              NULL
29  5       7-Aug-12       h              NULL
30  5       1-Sep-12       i              NULL
31  5       1-Sep-12       j              NULL
32  5       15-Sep-12      k              NULL

以上日期是合约开始日期。我必须显示合同日期不超过1年的记录。

在此日期的1年后,不应显示记录。

我想查看表的各个日期。不是与当前的date.like例子。如果当前日期是2013年第二季度,将无法看到1个10月12日的数据

4 个答案:

答案 0 :(得分:6)

使用DATEADD()[Date]与1年前的日期进行比较:

SELECT ID, Source, Date, Desc, flgdeladvsourcedetails
FROM table
WHERE DATEADD(year, -1, GETDATE())<[Date]

答案 1 :(得分:2)

您可以使用WHEREDATEADD

SELECT ID, SOURCE, DATE, DESC
FROM YourTable
WHERE DATEADD(YEAR, -1, GETDATE()) < [DATE]

答案 2 :(得分:0)

试试这个

select id, source, date, desc, flg...
from table where dateadd(year,1,[date]) > getdate()

答案 3 :(得分:0)

这可能很有用

select * from TableName where CAST(DateAdd(YEAR,1, Date)AS date) < CAST(getdate() AS DATE)