2012-05-15 35 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

相关问题