在SQL Server中,我想以月dd,yyyy格式从DateTime列中选择日期。
我目前正在使用以下代码:
SELECT CONVERT(VARCHAR(12), DateColumnHere, 107) 'Formatted Date'
返回:
Feb 15, 2013
有没有办法获得完整的月份名称,例如:
February 15, 2013
谢谢!
答案 0 :(得分:4)
这是一个拥有大量格式和SQL日期攻击的网站:
这是他们对你的格式的查询(月dd,yyy):
SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
答案 1 :(得分:2)
SQL Server的日期格式数量有限,但您可以使用DATENAME
函数来连接peices:
SELECT DATENAME(MM, GETDATE()) + ' ' +
DATENAME(DD, GETDATE()) + ', ' +
DATENAME(YYYY, GETDATE())
AS 'Formatted Date'
然而一般通常更好的做法是将日期保留为日期格式而不是转换为字符串,只转换为显示层(网站,报表,应用程序,无论何处)中的字符串。格式化功能更丰富。此外,如果转换为字符串,则无法进行日期数学,排序等。
答案 2 :(得分:1)
SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
答案 3 :(得分:1)
试试这个:
SELECT STUFF(CONVERT(VARCHAR(12), GETDATE(), 107), 1,3,DATENAME(month,GETDATE()))