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

时间:2013-10-27 14:20:03

标签: sql sql-server date-conversion

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

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

5 个答案:

答案 0 :(得分:29)

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

OR无逗号的日期在日期和年份之间,您可以使用以下

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

答案 1 :(得分:13)

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

SELECT FORMAT(MyDate, 'MMMM dd yyyy')

您可以view the documentation了解有关格式的更多信息。

答案 2 :(得分:1)

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

所需格式为 2009年4月1日

所以

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

结果是:

img1

答案 3 :(得分:0)

nodes:
  - address: 192.168.88.249
    internal_address: 172.17.0.1
    user: dockeruser
    role: [controlplane,worker,etcd]
  - address: 192.168.88.243
    internal_address: 172.17.0.1
    user: dockeruser
    role: [controlplane,worker,etcd]
  - address: 192.168.88.245
    internal_address: 172.17.0.1
    user: dockeruser
    role: [controlplane,worker,etcd]

services:
  etcd:
    snapshot: true
    creation: 6h
    retention: 24h

答案 4 :(得分:0)

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

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',但在需要时它将变成两位数的一天。