2012-05-15 58 views
2

我需要在SQL Server上以yyyy-mm-dd格式構建日期。在SQL Server中構建ISO日期的最佳方法

這樣做的最好方法是什麼?

謝謝。

編輯

我也嘗試這種

DECLARE @IsoDate varchar(10) 
SET @IsoDate = CONVERT(varchar(10), GETDATE(), 120) 

那會是一個好方法?

+2

參見[SQL Server的CAST和CONVERT]( http://msdn.microsoft.com/en-us/library/ms187928.aspx) - ISO-8601格式是'SELECT CONVERT(VARCHAR(50),GETDATE(),112)' - 或者選擇其他任何支持的樣式 –

+0

112會給你yyyymmdd,但仍然評論+1。 – JonH

+1

@JonH:OP想要的*精確*格式不可用... –

回答

4

更換GetDate()與列使用的是:

SELECT CONVERT(VARCHAR(10), GETDATE(), 120) AS [YYYY-MM-DD]

而對許多其他格式/例子諮詢本:http://www.sql-server-helper.com/tips/date-formats.aspx

+0

嘗試過類似的東西。我將值存儲在一個變量中,而不是選擇,但這不會太重要,我想 –

+0

不應該只是用@variable名稱替換GetDate()。 – JonH

3

SELECT replace(convert(varchar, getdate(), 111), '/', '-')

+1

+1 This works works too – JonH

相關問題