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