如何从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(datetime, '12.09.2014', 104)
这将德国日期格式的字符串转换为datetime对象。
为什么是104年?请看这里:http://msdn.microsoft.com/en-us/library/ms187928.aspx
其他回答
从SQL Server 2012开始(最初的问题是2000年的):
选择格式(GetDate),“yyy- eddd”)
对于YYYYMMDD,请尝试
select convert(varchar,getDate(),112)
我只在SQLServer2008上进行了测试。
SELECT Code,Description FROM TABLE
-- This will Include only date part of 14th March 2010. Any date with date companents will not be considered.
WHERE ID= 1 AND FromDate >= CONVERT(DATETIME, '2010-02-14', 126) AND ToDate <= DATEADD(dd, 1, CONVERT(DATETIME, '2010-03-14', 126))
-- This will Include the whole day of 14th March 2010
--WHERE ID= 1 AND FromDate >= CONVERT(DATETIME, '2010-02-14', 126) AND ToDate < DATEADD(dd, 1, CONVERT(DATETIME, '2010-03-14', 126))
似乎没有必要做任何奇怪的事情,如果你想让你的约会被斜杠分开。 只需用反斜杠转义即可。否则你就会得到一个点。
SELECT FORMAT(GETDATE(),'yyyy\/MM');
在SQL Server 2016上测试
从SQL Server 2008你可以这样做:CONVERT(date,getdate())