返回SQL中两个日期列之间的天数

时间:2012-09-05 16:48:25

标签: sql sql-server date

我见过很少像这样的问题,但没有一个解决方案与我的结构完全一致。

我当前的查询创建一个包含4列的表,其中2列是日期。

我将此声明为表@tblTransactions,我稍后在select语句中调用它。 我需要最后一个select语句有一个第5列,显示两个日期之间的天数。

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

上面的代码显然不起作用,因为PremDueDate和LastTdate都是数据类型date

使用SQL Server Management Studio 2010

3 个答案:

答案 0 :(得分:5)

使用DATEDIFF()获取两个日期之间的天数:

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

答案 1 :(得分:2)

试试这个:

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

答案 2 :(得分:0)