sql >> Databasteknik >  >> RDS >> PostgreSQL

Konvertera månadsnamn till månadsnummer i PostgreSQL

I PostgreSQL, om du redan har en månads namn , men du vill konvertera det namnet till månadens nummer , kan du göra detta med EXTRACT() funktion.

Exempel 1:Hela månadens namn

Här är ett grundläggande exempel på att konvertera ett månadsnamn till dess motsvarande månadsnummer.

SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";

Resultat:

 Month Number 
--------------
           12 

Exempel 2:Kort månadsnamn

Det fungerar även på korta månadsnamn. I det här fallet förkortar du bara mallsträngen från 'Month' till 'Mon' (andra argumentet för TO_DATE() funktion).

SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";

Resultat:

 Month Number 
--------------
           12

Exempel 3:Längre datum

Det fungerar även när du anger ett längre datum (inte bara månadsnamnet).

SELECT EXTRACT(
    MONTH FROM TO_DATE('December 20, 2020', 'Month')
    ) AS "Month Number";

Resultat:

 Month Number 
--------------
           12

Exempel 4:Använda tidsstämpel

Här är ett exempel med TO_TIMESTAMP() istället för TO_DATE() .

SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";

Resultat:

 Month Number 
--------------
           12

  1. Vad är syftet med en Android-projektionskarta i en innehållsleverantör?

  2. Hur hittar man den anställde med näst högsta lön?

  3. Likhetsfunktion i Postgres med pg_trgm

  4. lista data till användbart format?