sql >> Databasteknik >  >> RDS >> PostgreSQL

Hämta månadens namn från ett datum i PostgreSQL

Om du är bekant med PostgreSQL kanske du vet att du kan använda EXTRACT() och DATE_PART() funktioner för att extrahera månaden från ett datum. Men de funktionerna låter dig bara extrahera månadens nummer .

Vad händer om du behöver månadens namn ?

Du kan få månadsnamnet från ett datum genom att använda TO_CHAR() fungera. Den här funktionen returnerar en sträng baserat på tidsstämpeln och mallen du anger som argument.

Exempel

Här är ett snabbt exempel.

SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Month') AS "Month";

Resultat:

   Month   
-----------
 December   

I det här fallet angav jag ett mallmönster för 'Month' , så detta gjorde att månaden returnerades från tidsstämpelvärdet.

Små bokstäver, versaler och versaler

Du kan returnera månaden med gemener, versaler eller versaler. Du bestämmer vilken av fallet du använder för mallmönstret (andra argumentet).

Här är ett exempel för att visa vad jag menar.

SELECT 
  TO_CHAR(current_timestamp, 'month') AS "month",
  TO_CHAR(current_timestamp, 'Month') AS "Month",
  TO_CHAR(current_timestamp, 'MONTH') AS "MONTH";

Resultat:

   month   |   Month   |   MONTH   
-----------+-----------+-----------
 march     | March     | MARCH    

Alla resultat är blankstoppade till 9 tecken, oavsett vilket fall som används.

Kort månadsnamn

Du kan också ange att resultatet formateras med det korta månadsnamnet.

SELECT 
  TO_CHAR(current_timestamp, 'mon') AS "mon",
  TO_CHAR(current_timestamp, 'Mon') AS "Mon",
  TO_CHAR(current_timestamp, 'MON') AS "MON";

Resultat:

 mon | Mon | MON 
-----+-----+-----
 mar | Mar | MAR

  1. MySql få poster eller data dagligen, veckovis, månadsvis och årligen

  2. Returnera rad endast om värdet inte finns

  3. Migrera från Oracle Database till MariaDB - Vad du bör veta

  4. Bästa sättet att lagra tid (tt:mm) i en databas