如何从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 FORMAT(GetDate(),'yyyy-MM-dd');--= 2020-01-02
SELECT FORMAT(GetDate(),'dd MMM yyyy HH:mm:ss');-- = 02 Jan 2020 08:08:08
我更喜欢第二个,因为无论你说什么语言,你都知道今天是什么日子!
此外,当你将数据发送到保存过程时,SQL Server总是“理解”它,无论计算机中设置的是哪种区域格式——我在编程中总是使用全年(yyyy)、月名(MMM)和24小时格式(大写HH)来表示小时。
其他回答
从SQL Server 2012开始(最初的问题是2000年的):
选择格式(GetDate),“yyy- eddd”)
这个方法对我来说很有效,简单有效(也有126条)
CONVERT(NVARCHAR(MAX), CAST(GETDATE() as date), 120)
Select convert (nvarchar (20), getdate (), 23)
replace(convert(varchar, getdate(), 111), '/','-')
也会做戏法没有“砍任何东西”。
您所需要的表格在图书在线文档中列出。
http://msdn.microsoft.com/en-us/library/aa226054 (SQL.80) . aspx
例如,尝试以下方法:
select convert(varchar,getDate(),120)
select convert(varchar(10),getDate(),120)