从日期时间中减去一天

我有一个查询来获取两个日期时间之间的日期差:

SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())


Ex :


SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())

我需要有一个像这样的查询工作,将减去一天从创建的一天:

SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
542428 次浏览
SELECT DATEDIFF (
DAY,
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())

试试这个,希望这个能帮到你

SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())

你可以试试这个。

时间戳 = 2008-11-1113:23:44.657;

SELECT DATE_SUB(OrderDate,INTERVAL 1 DAY) AS SubtractDate FROM Orders

产出: 2008-11-1013:23:44.657

我希望,这将有助于解决你的问题。

我不能确定您到底想要做什么,但是我认为这个 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 convert(nvarchar(max), GETDATE(), 112)

得到 YYYYMMDD和它的负1。

或者更准确地说

select convert(nvarchar(max), GETDATE(), 112) - 1

昨天的日期。

用值 OrderDate替换 Getdate()

select convert(nvarchar (max),OrderDate,112)-1 AS SubtractDate FROM Orders

应该可以。

从今天减去一天日期:

Select DATEADD(day,-1,GETDATE())

(原帖使用 -7,不正确)

这个应该可以。

select DATEADD(day, -1, convert(date, GETDATE()))

显然,你可以从约会时间中减去你想要的天数。

SELECT GETDATE() - 1


2016-12-25 15:24:50.403