如何从 SQL 中的日期提取月份

摘要:通过本教程,您将了解如何使用一些日期函数从 SQL 中的日期提取月份。

要从特定日期中提取月份,请使用 EXTRACT() 函数。以下显示语法

EXTRACT(MONTH FROM date)
Code language: SQL (Structured Query Language) (sql)

在此语法中,将要从中提取月份的日期传递给 EXTRACT() 函数。日期可以是日期文本或解析为日期值表达式的任何表达式。

EXTRACT() 函数返回一个表示日期月份的数字。

以下示例说明如何从 2018 年 8 月 1 日的日期中提取月份

SELECT EXTRACT(MONTH FROM '2018-08-01')
Code language: SQL (Structured Query Language) (sql)

结果为 8,如我们所料

8
Code language: SQL (Structured Query Language) (sql)

要获取当前月份,请使用 CURRENT_TIMESTAMP 函数,并将其传递给 EXTRACT() 函数,如下所示

SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP)
Code language: SQL (Structured Query Language) (sql)

EXTRACT() 函数是一个 SQL 标准函数,受 MySQLOraclePostgreSQL支持。

如果您使用 SQL Server,则可以使用 MONTH()DATEPART() 函数从日期中提取月份。

例如,以下语句在 SQL Server 中返回当前月份

SELECT MONTH(CURRENT_TIMESTAMP);

SELECT DATEPART(month, CURRENT_TIMESTAMP);
Code language: SQL (Structured Query Language) (sql)

与 SQL Server 类似,MySQL 也支持 MONTH() 函数以从日期中返回月份。

SQLite 不支持 EXTRACT()MONTH()DATEPART() 函数。要从日期中提取月份,请使用 strftime() 函数,如下所示

SELECT strftime('%m', CURRENT_TIMESTAMP)
Code language: SQL (Structured Query Language) (sql)

在本教程中,您已了解如何使用各种函数从 SQL 中的日期中提取月份。

本教程是否有用?