减去 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学校:
我想在 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学校: