PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ottieni il nome del mese da una data in PostgreSQL

Se hai familiarità con PostgreSQL, potresti sapere che puoi utilizzare EXTRACT() e il DATE_PART() funzioni per estrarre il mese da una data. Ma queste funzioni ti consentono solo di estrarre il numero del mese .

E se avessi bisogno del nome del mese ?

Puoi ottenere il nome del mese da una data utilizzando TO_CHAR() funzione. Questa funzione restituisce una stringa basata sul timestamp e sul modello di modello fornito come argomenti.

Esempio

Ecco un rapido esempio.

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

Risultato:

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

In questo caso, ho specificato un modello di modello di 'Month' , quindi questo ha causato la restituzione del mese dal valore del timestamp.

Maiuscole, minuscole e maiuscole

Puoi restituire il mese in minuscolo, maiuscolo o maiuscolo. Decidi tu quale caso utilizzare per il modello di modello (secondo argomento).

Ecco un esempio per dimostrare cosa intendo.

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

Risultato:

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

Tutti i risultati vengono riempiti in bianco a 9 caratteri, indipendentemente dal caso utilizzato.

Nome breve del mese

Puoi anche specificare che il risultato sia formattato utilizzando il nome breve del mese.

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

Risultato:

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