V PostgreSQL, pokud již máte název měsíce , ale chcete tento název převést na číslo měsíce , můžete to udělat pomocí EXTRACT() funkce.
Příklad 1:Celý název měsíce
Zde je základní příklad převodu názvu měsíce na odpovídající číslo měsíce.
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
Výsledek:
Month Number
--------------
12
Příklad 2:Krátký název měsíce
Funguje také na krátké názvy měsíců. V tomto případě stačí zkrátit řetězec šablony z 'Month' do 'Mon' (druhý argument funkce TO_DATE() funkce).
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
Výsledek:
Month Number
--------------
12
Příklad 3:Delší data
Funguje to také, když zadáte delší datum (nejen název měsíce).
SELECT EXTRACT(
MONTH FROM TO_DATE('December 20, 2020', 'Month')
) AS "Month Number";
Výsledek:
Month Number
--------------
12
Příklad 4:Použití časového razítka
Zde je příklad použití TO_TIMESTAMP() místo TO_DATE() .
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
Výsledek:
Month Number
--------------
12