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