2013-08-06 38 views
-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年的記錄。檢查日期是否超過sql中的1年

此日期的1年後,不應顯示記錄。

我想檢查表的個別日期。不是以當前日期爲例。 12年10月1日的數據不會被看到,如果當前的日期是2013年10月2日

回答

2

您可以使用WHEREDATEADD

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

這將顯示所有日期小於1年的未來......? –

+0

@JoachimIsaksson - 修正 - 謝謝。 –

6

使用DATEADD()比較[Date]與日期1年前:

+0

我想查看錶格的個別日期。不是以當前日期爲例。 1oct12數據將不會在2013年10月2日後看到 – user2583182

+1

當您說2013年10月2日時,您是指當前**日期是2013年10月2日? – Curt

0

試試這個

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

這可能有用

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