Podsumowanie: w tym poradniku dowiesz się, jak używać funkcji SQL Server MONTH() do wyodrębniania miesiąca z daty.
Przegląd funkcji SQL Server MONTH()
Funkcja MONTH() zwraca wartość całkowitą, która reprezentuje miesiąc określonej daty.
Poniżej przedstawiono składnię funkcji MONTH():
Code language: SQL (Structured Query Language) (sql)MONTH(input_date)
Funkcja MONTH() przyjmuje argument, który może być dosłowną wartością daty lub wyrażeniem, które może rozwiązać się do TIMEDATESMALLDATETIMEDATETIMEDATETIME2 lub DATETIMEOFFSET.
Funkcja MONTH() zwraca taką samą wartość jak następująca funkcja DATEPART():
Code language: SQL (Structured Query Language) (sql)DATEPART(month,input_date)
Przykłady funkcjiSQL Server MONTH()
A) Użycie funkcji MONTH() z dosłowną wartością daty
Ten przykład wykorzystuje funkcję MONTH() do wyodrębnienia miesiąca z daty '2020-12-01':
Code language: SQL (Structured Query Language) (sql)SELECT MONTH('2020-12-01') ;
Here is the output:
month-----------12(1 row affected)
B) Using MONTH() function with a date value that has only time data
Funkcja MONTH() zwróci 1, jeśli wartość daty zawiera tylko część czasową:
Code language: SQL (Structured Query Language) (sql)SELECT MONTH('15:30:20') ;
Wyjście jest następujące:
month-----------1(1 row affected)
C) Użycie funkcji MONTH() z kolumnami tabeli przykład
Do demonstracji wykorzystamy sales.orders oraz sales.order_items z przykładowej bazy danych.

W tym przykładzie wykorzystano m.in. funkcję MONTH() do wyodrębnienia danych miesiąca z wartości w kolumnie shipped_date. Zwraca sprzedaż brutto według miesięcy w 2018 roku przy użyciu funkcji SUM() i klauzuli GROUP BY:
Code language: SQL (Structured Query Language) (sql)SELECT MONTH(shipped_date) , SUM(list_price * quantity) gross_salesFROM sales.orders o INNER JOIN sales.order_items i ON i.order_id = o.order_idWHERE shipped_date IS NOT NULL AND YEAR(shipped_date) = 2017GROUP BY MONTH(shipped_date)ORDER BY ;
Następujący obraz przedstawia dane wyjściowe:

W tym poradniku dowiedziałeś się, jak wyodrębnić miesiąc z określonej daty za pomocą funkcji SQL Server MONTH().