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