有一天,我有一個查詢爲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