2016-03-30 63 views
1

我想檢索日期減去1年,但沒有時間標記選擇的日期沒有時間(SQL服務器(+)

下面的查詢

SELECT DATEADD(year, -1, GETDATE()) 

輸出:

2015-03-30 10:48:04.220 

我要的是2015-03-30 00:00:00:000

類似:

(DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)) 

導致:2016-03-30 00:00:00.000

什麼是做這種正確的或者最簡單的方法是什麼?

+0

爲什麼不使用CAST(場AS DATE )? –

+0

「我想要的是'2015年3月30日00:00:00:00'」。奇怪,但它看起來像包含了一個相當精確的午夜表示。你想要的時間或只是['日期'](https://msdn.microsoft.com/en-us/library/bb630352.aspx)? – HABO

回答

1

在SQL Server 2008和更高,你應該轉換爲日期:

SELECT CONVERT(date, (DATEADD(year, -1, GETDATE()))) 

在舊版本中,你可以做到以下幾點:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, DATEADD(year, -1, GETDATE())))