如何使用sql在sql server中获取整月名称?
我找不到使用DATEPART(mm, mydate)
或CONVERT(VARCHAR(12), CreatedFor, 107)
的方式。
基本上我需要格式为: 2009年4月1日。
答案 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)
结果是:
答案 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',但在需要时它将变成两位数的一天。