在Microsoft SQL Server中减去两个日期

时间:2016-03-29 22:20:57

标签: sql sql-server database sql-server-2012 data-warehouse

我想在MS SQL Server中减去2个日期。

示例:

Current date      Last used date
'2016-03-30'      '2015-02-03'

当前日期是指今天的日期,"上次使用的日期"是一种措施。

如何在SQL Server中编写查询?

我有这个但是没有用(它表示"操作数数据类型对于减法运算符&#34无效;)

select 
    CONVERT(DATE, GETDATE()) - CONVERT(DATE, LastUsedDate) 
from 
    databasename 

3 个答案:

答案 0 :(得分:7)

SELECT     DATEDIFF(day,'2014-06-05','2014-08-05')     AS DiffDate

输出DiffDate 61

更多练习请参考以下W3学校:

http://www.w3schools.com/sql/func_datediff.asp

答案 1 :(得分:3)

这里你不必将GETDATE()转换为日期,因为它已经是datetime数据类型。所以你的查询将如下

SELECT DATEDIFF(day,CAST(LastUsedDate as date),GETDATE()) AS DifferneceDays
FROM TableName

答案 2 :(得分:1)

使用的正常功能是datediff()

select datediff(day, cast('2016-02-03' as date), cast('2016-03-30' as date))

您可以减去datetime值,但不能减去日期。唉。