我有一个查询来获取 2 个日期时间之间的日期差异:
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
我需要进行这样的查询工作,它将从创建的日期中减去一天:
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
我有一个查询来获取 2 个日期时间之间的日期差异:
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
我需要进行这样的查询工作,它将从创建的日期中减去一天:
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
尝试这个
SELECT DATEDIFF(DAY, DATEADD(day, -1, '2013-03-13 00:00:00.000'), GETDATE())
或者
SELECT DATEDIFF(DAY, DATEADD(day, -1, @CreatedDate), GETDATE())
我不确定你到底想做什么,但我认为这个 SQL 函数会帮助你:
SELECT DATEADD(day,-1,'2013-04-01 16:25:00.250')
以上将给你2013-03-31 16:25:00.250
。
它会带你回到一天,并适用于任何标准的日期时间或日期格式。
尝试运行此命令,看看它是否为您提供了您正在寻找的内容:
SELECT DATEADD(day,-1,@CreatedDate)
简单地从今天的日期中减去一天:
Select DATEADD(day,-1,GETDATE())
(原始帖子使用-7并且不正确)
显然,您可以从日期时间中减去所需的天数。
SELECT GETDATE() - 1
2016-12-25 15:24:50.403
这应该有效。
select DATEADD(day, -1, convert(date, GETDATE()))
SELECT DATEDIFF (
DAY,
DATEDIFF(DAY, @CreatedDate, -1),
GETDATE())
试试这个,可能对你有帮助
SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())
老实说,我只是使用:
select convert(nvarchar(max), GETDATE(), 112)
从中YYYYMMDD
减去一。
或者更准确地说
select convert(nvarchar(max), GETDATE(), 112) - 1
对于昨天的日期。
替换Getdate()
为您的值OrderDate
select convert(nvarchar (max),OrderDate,112)-1 AS SubtractDate FROM Orders
应该这样做。
你可以试试这个。
时间戳=2008-11-11 13:23:44.657;
SELECT DATE_SUB(OrderDate,INTERVAL 1 DAY) AS SubtractDate FROM Orders
输出:2008-11-10 13:23:44.657
我希望,它将有助于解决您的问题。