如何从SQL Server中检索YYYY-MM-DD格式的日期?我需要这个工作与SQL Server 2000及更高。是否有一个简单的方法来执行这在SQL Server或它会更容易转换后,我检索的结果集?
我已经阅读了微软Technet上的CAST和CONVERT,但我想要的格式没有列出,改变日期格式也不是一个选项。
如何从SQL Server中检索YYYY-MM-DD格式的日期?我需要这个工作与SQL Server 2000及更高。是否有一个简单的方法来执行这在SQL Server或它会更容易转换后,我检索的结果集?
我已经阅读了微软Technet上的CAST和CONVERT,但我想要的格式没有列出,改变日期格式也不是一个选项。
当前回答
SELECT CONVERT(char(10), GetDate(),126)
限制您不想要的小时部分的varchar排骨的大小。
其他回答
Select convert (nvarchar (20), getdate (), 23)
在你的强制转换链接中,使用样式126:
CONVERT (varchar(10), DTvalue, 126)
这缩短了时间。您要求它在yyyy-mm-dd中,这意味着它必须是字符串数据类型和日期时间。
坦率地说,除非你有充分的理由不这么做,否则我会在客户端上这么做。
以防有人想用另一种方式来做,发现了这个。
select convert(datetime, '12.09.2014', 104)
这将德国日期格式的字符串转换为datetime对象。
为什么是104年?请看这里:http://msdn.microsoft.com/en-us/library/ms187928.aspx
如果你想在之后再次使用它作为日期而不是varchar,不要忘记将其转换回来:
select convert(datetime,CONVERT(char(10), GetDate(),126))
还有一种方法……
CONVERT(varchar, DATEPART(yyyy, @datetime)) + '/' + CONVERT(varchar, DATEPART(mm, @datetime)) + '/' + CONVERT(varchar, DATEPART(dd, @datetime))