PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Obtenir le nom du mois à partir d'une date dans PostgreSQL

Si vous êtes familier avec PostgreSQL, vous savez peut-être que vous pouvez utiliser le EXTRACT() et le DATE_PART() fonctions pour extraire le mois d'une date. Mais ces fonctions ne permettent que d'extraire le numéro du mois .

Et si vous avez besoin du mois nom ?

Vous pouvez obtenir le nom du mois à partir d'une date en utilisant le TO_CHAR() une fonction. Cette fonction renvoie une chaîne basée sur l'horodatage et le modèle de modèle que vous fournissez en tant qu'arguments.

Exemple

Voici un exemple rapide.

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

Résultat :

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

Dans ce cas, j'ai spécifié un modèle de modèle de 'Month' , ce qui a entraîné le retour du mois à partir de la valeur d'horodatage.

Minuscules, majuscules et majuscules

Vous pouvez retourner le mois en minuscules, en majuscules ou en majuscules. Vous déterminez lequel en fonction de la casse que vous utilisez pour le modèle de modèle (deuxième argument).

Voici un exemple pour illustrer ce que je veux dire.

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

Résultat :

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

Tous les résultats sont complétés par des blancs jusqu'à 9 caractères, quelle que soit la casse utilisée.

Nom abrégé du mois

Vous pouvez également spécifier que le résultat est formaté en utilisant le nom court du mois.

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

Résultat :

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