摘要:在本教程中,你将学习如何在 SQL 中从日期提取月中天数。
要从指定日期提取月中天数,你需要使用 EXTRACT()
函数。语法如下所示
EXTRACT(DAY FROM date)
Code language: SQL (Structured Query Language) (sql)
在此语法中,你将想要从中提取月中天数的日期传递给 EXTRACT()
函数。日期可以是任何有效日期文字或计算为日期值的表达式。
EXTRACT()
函数返回一个数字,表示输入日期月中天数。
以下示例说明如何从 8 月 21 日 2018 年
的日期中提取月中天数
SELECT EXTRACT(MONTH FROM '2018-08-21')
Code language: SQL (Structured Query Language) (sql)
该语句发出了以下输出
21
Code language: SQL (Structured Query Language) (sql)
若要获得当前日期的日期,请在 EXTRACT()
函数中使用 CURRENT_TIMESTAMP
函数,如下所示
SELECT EXTRACT(DAY FROM CURRENT_TIMESTAMP)
Code language: SQL (Structured Query Language) (sql)
请注意,EXTRACT()
函数是一个 SQL 标准函数,受 MySQL、Oracle 和 PostgreSQL 支持。
SQL Server 不支持 EXTRACT()
函数。如果你使用 SQL Server,你可以改用 DAY()
或 DATEPART()
函数来从日期提取月中天数。
例如,以下两个语句都返回 SQL Server 中当前日期的日期
SELECT DAY(CURRENT_TIMESTAMP);
SELECT DATEPART(DAY, CURRENT_TIMESTAMP);
Code language: SQL (Structured Query Language) (sql)
除了提供 EXTRACT()
函数外,MySQL 还支持 DAY()
函数,用于从日期返回月中天数。
SQLite 不支持 EXTRACT()
、DAY()
或 DATEPART()
函数。要从日期中提取月份,你可以按照如下所示使用 strftime()
函数
SELECT strftime('%d', CURRENT_TIMESTAMP)
Code language: SQL (Structured Query Language) (sql)
在本教程中,你已学习如何使用各种函数来从 SQL 中的日期提取月中天数。
本教程是否对你有帮助?