16

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

基本上我需要格式:April 1 2009

4

5 回答 5

31
SELECT DATENAME(MONTH, GETDATE()) 
         + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 107), 9) AS [Month DD, YYYY]

或 Date without Comma 在日期和年份之间,您可以使用以下

SELECT DATENAME(MONTH, GETDATE()) + ' ' + CAST(DAY(GETDATE()) AS VARCHAR(2))
           + ' ' + CAST(YEAR(GETDATE()) AS VARCHAR(4)) AS [Month DD YYYY]
于 2013-10-27T14:24:38.047 回答
15

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

SELECT FORMAT(MyDate, 'MMMM dd yyyy')

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

于 2014-04-01T10:58:23.333 回答
1

109 - mon dd yyyy(在 SQL 转换中)

所需格式为 2009 年 4 月 1 日

所以

 SELECT DATENAME(MONTH, GETDATE()) + RIGHT(CONVERT(VARCHAR(12), GETDATE(), 109), 9)

结果是:

图像1

于 2016-11-04T09:11:32.807 回答
1

大多数答案比必要的要复杂一些,或者没有提供所要求的确切格式。

select Format(getdate(), 'MMMM dd yyyy') --returns 'October 01 2020', note the leading zero
select Format(getdate(), 'MMMM d yyyy') --returns the desired format with out the leading zero: 'October 1 2020'

如果你想要一个逗号,像往常一样,使用:

select Format(getdate(), 'MMMM d, yyyy') --returns 'October 1, 2020'

注意:即使当天只有一个“d”,但在需要时会变成 2 位数的一天。

于 2020-10-01T18:58:15.757 回答
0
select datename(DAY,GETDATE()) +'-'+ datename(MONTH,GETDATE()) +'- '+ 
       datename(YEAR,GETDATE()) as 'yourcolumnname'
于 2019-02-05T07:26:06.663 回答