减去 Microsoft SQL 服务器中的两个日期

Subtract two dates in Microsoft SQL Server

我想在 MS SQL 服务器中减去 2 个日期。

示例:

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

当前日期是指今天的日期,"Last used date"是一个小数点。

如何在 SQL 服务器中编写查询?

我有这个但是没有用(它说 "Operand data type is invalid for subtract operator")

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

正常使用的函数是datediff():

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

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

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

SELECT DATEDIFF(day,CAST(LastUsedDate as date),GETDATE()) AS DifferneceDays
FROM TableName
SELECT     DATEDIFF(day,'2014-06-05','2014-08-05')     AS DiffDate

输出 DiffDate 61

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

https://www.w3schools.com/sql/func_sqlserver_datediff.asp