W PostgreSQL, jeśli masz już miesiąc nazwa , ale chcesz przekonwertować tę nazwę na numer miesiąca , możesz to zrobić za pomocą EXTRACT() funkcja.
Przykład 1:Pełna nazwa miesiąca
Oto podstawowy przykład konwersji nazwy miesiąca na odpowiadający jej numer miesiąca.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Wynik:
Month Number
--------------
12
Przykład 2:skrócona nazwa miesiąca
Działa również na krótkich nazwach miesięcy. W takim przypadku po prostu skróć ciąg szablonu z 'Month' do 'Mon' (drugi argument funkcji TO_DATE() funkcja).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Wynik:
Month Number
--------------
12
Przykład 3:Dłuższe daty
Działa również, gdy podasz dłuższą datę (nie tylko nazwę miesiąca).
SELECT EXTRACT(
MONTH FROM TO_DATE('December 20, 2020', 'Month')
) AS "Month Number";
Wynik:
Month Number
--------------
12
Przykład 4:używanie znacznika czasu
Oto przykład użycia TO_TIMESTAMP() zamiast TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Wynik:
Month Number
--------------
12