-4
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 年后,不应显示该记录。

我想检查表格的各个日期。不是当前日期。类似的例子。如果当前日期是 2013 年 10 月 2 日,则不会看到 12 年 10 月 1 日的数据

4

4 回答 4

6

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

SELECT ID, Source, Date, Desc, flgdeladvsourcedetails
FROM table
WHERE DATEADD(year, -1, GETDATE())<[Date]
于 2013-08-06T09:20:35.403 回答
2

您可以使用WHEREDATEADD

SELECT ID, SOURCE, DATE, DESC
FROM YourTable
WHERE DATEADD(YEAR, -1, GETDATE()) < [DATE]
于 2013-08-06T09:20:25.690 回答
0

这可能有用

select * from TableName where CAST(DateAdd(YEAR,1, Date)AS date) < CAST(getdate() AS DATE)
于 2013-08-06T11:54:07.467 回答
0

尝试这个

select id, source, date, desc, flg...
from table where dateadd(year,1,[date]) > getdate()
于 2013-08-06T10:21:07.663 回答