2012-09-05 41 views
0

我已經看到了像這樣的一個很少的問題,但沒有一個解決方案與我擁有的結構相當適用。返回SQL中兩個日期列之間的天數

我當前的查詢創建了一個包含4列的表格,其中2個是日期。

我聲明這是一個表@tblTransactions,我稍後在select語句中調用。 我需要最後的選擇語句有第5列顯示兩個日期之間的天數。

SELECT * 
     ,(t.PremDueDate - t.LastTdate) AS 'tpFactor'   <-------- This doesn't work 
FROM 
     @tblTransactions t 

上面的代碼顯然是行不通的,因爲PremDueDate和LastTdate都是數據類型date的。

使用SQL Server Management Studio 2010中

回答

5

使用DATEDIFF()得到兩個日期之間的天數:

SELECT DATEDIFF(DAY, t.PremDueDate, t.LastTdate) AS 'tpFactor' 
FROM @tblTransactions t 
+0

工作得很好。我發現'DATEDIFF(dd,t.PremDueDate,t.LastTdate)AS'tpFactor''也可以。 'DD'和'DAY'有什麼區別? –

+1

這是一樣的,'dd'和'd'都是'DAY'的別名/縮寫。他們都工作得很好:-) –

2

試試這個:

SELECT * 
    ,DATEDIFF(DD, t.LastTdate, t.PremDueDateP) AS 'tpFactor' 
FROM 
    @tblTransactions t