0

在 SQL Server 中,我想从 Month dd、yyyy 格式的 DateTime 列中选择一个日期。

我目前正在使用以下代码:

SELECT CONVERT(VARCHAR(12), DateColumnHere, 107) 'Formatted Date'

返回:

Feb 15, 2013

有没有办法获得完整的月份名称,例如:

February 15, 2013

谢谢!

4

4 回答 4

5

这是一个包含大量格式和少量 SQL 日期黑客的网站:

http://www.sql-server-helper.com/tips/date-formats.aspx

这是他们对您的格式的查询(月 dd,yyy):

SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
于 2013-06-27T13:06:29.157 回答
2

SQL Server 的日期格式数量有限,但您可以使用该DATENAME函数来连接这些日期格式:

SELECT DATENAME(MM, GETDATE()) + ' ' + 
       DATENAME(DD, GETDATE()) + ', ' + 
       DATENAME(YYYY, GETDATE())
       AS 'Formatted Date'

但是通常最好将日期保留为日期格式而不是转换为字符串,并且仅在格式化功能更丰富的显示层(网站、报表、应用程序等)中转换为字符串。另外,如果您转换为字符串,您将失去进行日期数学、排序等的能力。

于 2013-06-27T13:06:30.453 回答
1
SELECT DATENAME(MM, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
于 2013-06-27T13:03:34.247 回答
1

试试这个:

SELECT STUFF(CONVERT(VARCHAR(12), GETDATE(), 107), 1,3,DATENAME(month,GETDATE()))
于 2013-06-27T13:08:15.667 回答