繁体   English   中英

在Microsoft SQL Server中减去两个日期

[英]Subtract two dates in Microsoft SQL Server

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

例:

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

当前日期是指今天的日期,“上次使用日期”是一种度量。

如何在SQL Server中编写查询?

我有这个,但不起作用(它说“操作数数据类型对减法运算符无效”)

select 
    CONVERT(DATE, GETDATE()) - CONVERT(DATE, LastUsedDate) 
from 
    databasename 
SELECT     DATEDIFF(day,'2014-06-05','2014-08-05')     AS DiffDate

输出DiffDate 61

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

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

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

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

正常使用的函数是datediff()

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM