2012-02-05 19 views
2

我想弄清楚一種方法在SQL中的表中檢查日期,檢查它是否比另一列中的值舊,並可能輸出差異。在SQL Server中計算和比較日期

例如:

可樂具有2011-12-12 04標準的SQL日期戳:10:00.000 COLB中有一個數,例如10 我想可以比較各國日期在日期(可樂+在COLB的值)

COLB的值是在天,以便添加10上方將意味着可樂日期+ 10將是: 2011-12-22 04:10:00.000。

我想弄清楚如何將今天的日期與這個日期進行比較,看看從今天起有多少天。在這種情況下(12-22-2011),這將是45天前。

希望這個解釋不是太混亂。

回答

3

使用DATEDIFFDATEADD來操縱和比較SQL Server日期/日期時間。

e.g

DATEADD(day, 10, ColA) 

IF DATEDIFF(day, DATEADD(day, 10, ColA), GETDATE()) > SomeNumberofDays 
+0

是否有辦法來測試這一點沒有修改表?我想要做的事情如下:WHERE GETDATE()>(年(ColA)和月(ColA)和(天(ColA)+ ColB)。基本上只返回比ColA日期更近的行+天數在ColB。 – 2012-02-06 21:11:00

+0

我的例子不修改任何表格,你也不應該;你比較沒有更新,我的答案中的比較可以做你想要的東西 – 2012-02-06 23:32:09

+0

感謝您的回覆。它變得很清楚它們是如何工作的,再次感謝! – 2012-02-09 03:19:10