摘要:在本教學中,您將學習如何使用一些日期函數從 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 標準函數,受到 MySQL、Oracle 和 PostgreSQL 的支援。
如果您使用 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 中的日期提取月份。
這個教學對您有幫助嗎?