有一天,我有一个查询为2日期时间之间获取最新DIFF:减去日期时间
SELECT DATEDIFF(DAY, @CreatedDate , GETDATE())
Ex :
SELECT DATEDIFF(DAY, '2013-03-13 00:00:00.000' , GETDATE())
我需要有一个查询工作像这样将创建从天减去一天:
SELECT DATEDIFF(DAY, **@CreatedDate- 1** , GETDATE())
有一天,我有一个查询为2日期时间之间获取最新DIFF:减去日期时间
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())
OR
SELECT DATEDIFF(DAY, DATEADD(day, -1, @CreatedDate), GETDATE())
SELECT DATEDIFF (
DAY,
DATEDIFF(DAY, @CreatedDate, -1),
GETDATE())
试试这个,可能这会帮助你
SELECT DATEDIFF(DAY, DATEADD(DAY,-1,'2013-03-13 00:00:00.000') , GETDATE())
你可以试试这个。
Timestamp = 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
我希望,这将有助于解决您的问题。
SQL Server。不支持'INTERVAL'或'DATE_SUB'。 – 2013-03-26 08:07:05
SELECT DATEADD(day,45,OrderDate)FROM Orders。你说对了? – chintan 2013-03-26 08:29:55
我不能肯定什么正是你正在尝试做的,但我认为这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
和减去它之一。
或更正确
select convert(nvarchar(max), GETDATE(), 112) - 1
为昨天的日期。
替换Getdate()
与你的价值OrderDate
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
为什么不在结果中加1? – 2013-03-26 08:01:10
如果从结果中减去* 1给出所需的答案,那么您提出的问题似乎是错误的,因为*从结果中减去*等于*在日期的前面加上*天数。 – 2013-03-26 08:08:52
然后,您作为第一个回复发布给我的表达方式就是我使用的表达方式 - 您可以将其作为答案进行发布,但正如我所说,这意味着您的问题并非真正正确(“DATEDIFF” '2003-03-12'和今天是14,而不是12)。 – 2013-03-26 08:15:23