如何从 SQL Server 中的日期获取月份编号(不是月份名称)?

Posted

技术标签:

【中文标题】如何从 SQL Server 中的日期获取月份编号(不是月份名称)?【英文标题】:How can I get the month number (not month name) from a date in SQL Server? 【发布时间】:2013-02-05 09:34:56 【问题描述】:

如何在sql中获取月份数?我使用以下代码,但它返回月份名称。

SELECT DATENAME(mm, GETDATE())

【问题讨论】:

【参考方案1】:

使用带有 m 扩展名的 datepart 函数。

SELECT DATEPART(m, getdate())

【讨论】:

有趣的是mmm 格式都返回月份数。【参考方案2】:

使用月份功能 - SELECT MONTH(GETDATE())

【讨论】:

这完全按照 OP 的要求工作,在我看来更具可读性。【参考方案3】:

使用Datepart:

DATEPART(mm,getdate());

【讨论】:

有趣的是mmm 格式都返回月份数。这个帖子有两个绝对正确的答案:)【参考方案4】:

你想要DATEPART:

select datepart(mm, getdate())

【讨论】:

【参考方案5】:

你也可以用它来填充月份数

SELECT RIGHT('00' + RTRIM( CAST( DATEPART( MONTH, GETDATE() ) AS varchar(2)) ) , 2)

【讨论】:

【参考方案6】:

试试下面的:

SELECT DATEPART(mm,getdate())

【讨论】:

【参考方案7】:

如果是一月到九月,这将返回两个字符:

SELECT CASE WHEN LEN(MONTH(GETDATE())) = 1 THEN '0' + CAST(MONTH(GETDATE()) AS VARCHAR(2)) 
WHEN LEN(MONTH(GETDATE())) = 2 THEN CAST(MONTH(GETDATE()) AS VARCHAR(2)) END

【讨论】:

以上是关于如何从 SQL Server 中的日期获取月份编号(不是月份名称)?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL 中的日期获取字符串类型的月份?

如何从 Presto 中的日期获取月份名称

从jooq中的日期获取月份名称

从 SQL Server 中的日期检索年份和周数

sqlserver如何取得一个月份内所有的日期

如何从 Power BI 中的月份编号获取月份名称?