在本教學中,將學習如何使用SQL Server MONTH()函數從日期中提取月份。
SQL Server MONTH()函數簡介
MONTH()函數返回一個整數值,它表示指定日期的月份。
以下是MONTH()函數的語法:
MONTH(input_date)
MONTH()函數接受一個參數,該參數可以是文字日期值或可以解析為:TIME,DATE,SMALLDATETIME,DATETIME,DATETIME2或DATETIMEOFFSET值的運算式。
MONTH()函數返回與以下DATEPART()函數相同的值:
DATEPART(month,input_date)
SQL Server MONTH()函數示例
1. MONTH()函數使用文字日期值
此示例使用MONTH()函數從2020-12-13日期值中提取月份值:
SELECT MONTH('2020-12-13') [month];
執行上面查詢語句,得到以下結果:
month
-----------
12
(1 行受影響)
2. MONTH()函數使用日期值只包含時間數據
如果日期值僅包含時間部分,則MONTH()函數將返回1:
SELECT
MONTH('12:30:33') [month];
執行上面查詢語句,得到以下結果:
month
-----------
1
(1 行受影響)
3. MONTH()函數與表列示例
下麵將使用示例資料庫中的sales.orders和sales.order_items進行演示。

此示例使用MONTH()函數從shipped_date列中的值中提取月份數據。它使用SUM()函數和GROUP BY子句返回2018年按月分組後總銷售額:
SELECT MONTH(shipped_date) [month],
SUM(list_price * quantity) gross_sales
FROM sales.orders o
INNER JOIN sales.order_items i ON i.order_id = o.order_id
WHERE shipped_date IS NOT NULL
AND YEAR(shipped_date) = 2017
GROUP BY MONTH(shipped_date)
ORDER BY [month];
執行上面查詢語句,得到以下結果:

在本教學中,學習了如何使用SQL Server MONTH()函數從指定日期提取月份。
上一篇:
SQL Server日期函數
下一篇:
SQL Server字串函數
