sql server从日期获取FULL月份名称

Nev*_*ane 15 sql sql-server date-conversion

如何使用sql在sql server中获取整个月的名称?
我找不到使用DATEPART(mm, mydate)或使用的方法CONVERT(VARCHAR(12), CreatedFor, 107).

基本上我需要格式:2009年4月1日.

M.A*_*Ali 30

SELECT DATENAME(MONTH, GETDATE()) 
         + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]
Run Code Online (Sandbox Code Playgroud)

或没有逗号的日期在日期和年份之间,您可以使用以下内容

SELECT DATENAME(MONTH, GETDATE()) + ' ' + CAST(DAY(GETDATE()) AS VARCHAR(2))
           + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [Month DD YYYY]
Run Code Online (Sandbox Code Playgroud)

  • 请停止推荐日期/时间速记.如果您的意思是"MONTH",请键入"MONTH".[一直使用速记导致问题](http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/bad-habits-to-kick-using-shorthand-with-date-time-operations的.aspx). (3认同)
  • 建议不要使用懒惰的速记.这不会使答案错误或没有用,这只是一个建议,以使答案更好. (2认同)

dr.*_*row 13

如果您使用的是SQL Server 2012或更高版本,则可以使用:

SELECT FORMAT(MyDate, 'MMMM dd yyyy')
Run Code Online (Sandbox Code Playgroud)

您可以查看文档以获取有关格式的更多信息.