Travailler avec TO_CHAR()
Que vous souhaitiez obtenir la date actuelle dans votre requête PostgreSQL ou travailler avec des dates dans votre table, il est essentiel de comprendre comment convertir la date en chaîne. Peut-être souhaitez-vous un format plus joli pour la date comme sortie ou extraire une section de la date après l'avoir convertie en chaîne. Quoi qu'il en soit, TO_CHAR() est la fonction idéale.
De plus, TO_CHAR() offre de nombreuses options de formatage que vous pouvez utiliser. Vous pouvez combiner les différentes options pour obtenir le résultat souhaité.
TO_CHAR() prend la syntaxe suivante :
TO_CHAR(expression, format);
L'expression est l'horodatage que vous souhaitez convertir en utilisant le format spécifié.
Voici les formats TO_CHAR() couramment utilisés :
1 an
AAAA – Il indique l'année en 4 chiffres.
O,AAAA – Il utilise une virgule pour représenter les quatre chiffres de l'année.
AAAA – Il affiche uniquement les trois derniers chiffres de l'année spécifiée.
AA – Il n'affiche que les deux derniers chiffres de l'année spécifiée.
ET - Il affiche uniquement le dernier chiffre de l'année spécifiée.
2 mois
MOIS - Il utilise des majuscules pour le nom du mois.
mois - Il utilise des minuscules pour le nom du mois.
MON – Il abrège le mois en majuscule.
Mon – Il abrége et met le mois en majuscule.
MM – Il affiche uniquement le numéro du mois.
3 jours
JOUR - Le nom du jour en majuscule.
jour - Le nom du jour en minuscule.
TOI - Il abrége le nom du jour et le met en majuscule.
Ceux - Il abrége et met en majuscule le nom du jour.
toi- Le nom du jour abrégé en minuscules.
4 fois
HH – Heure de la journée
HH12 – Format 12 heures
HH24 – Format 24 heures
MON - Minutes
SS – Secondes
Les formats donnés ne sont pas les seuls formats TO_CHAR() que vous pouvez utiliser, mais ce sont les plus couramment utilisés. Nous donnerons leur exemple d’utilisation dans cet article.
Exemple 1 : Conversion de la date en chaîne
Pour cet exemple, nous tapons la date cible comme expression et spécifions le format dans lequel la convertir. Le résultat suivant montre comment nous convertissons « 2023-11-29 » en une chaîne plus lisible et compréhensible :
Exemple 2 : Travailler avec la date actuelle
Dans PostgreSQL, CURRENT_DATE vous donne la date de ce jour particulier.
Supposons que nous voulions le convertir en chaîne. Il nous suffit d'utiliser CURRENT_DATE comme expression, puis de spécifier notre format. Vous obtenez maintenant votre date actuelle sous forme de chaîne.
Vous pouvez néanmoins modifier le format en un autre pour atteindre votre objectif. Par exemple, si nous voulons uniquement afficher la date, le mois et l’année, nous ajustons notre commande comme suit :
La beauté de TO_CHAR() est que vous pouvez combiner les différents formats pour créer celui final que vous souhaitez utiliser pour votre date. Passons à autre chose et travaillons avec les horodatages.
Exemple 3 : Travailler avec l'horodatage
Jusqu’à présent, nous n’avons travaillé qu’avec des dates. Cependant, si votre date contient de l'heure, vous pouvez extraire l'heure en précisant son format idéal.
Voici un exemple dans lequel nous spécifions d'obtenir l'heure au format 24 heures à partir de l'horodatage fourni, en laissant de côté la date :
Pour le format horaire 12 heures, nous utilisons HH12 au lieu de HH24. Jetez un œil à l’exemple suivant :
Enfin, si nous voulons extraire la date et l'heure de l'horodatage fourni, il suffit d'ajouter le format idéal que nous souhaitons utiliser. Ici, nous spécifions en utilisant HH12:MI:SS pour l'heure et ajoutons un séparateur. Ensuite, nous spécifions d’utiliser « jj, mois, aaaa » pour la date.
Notre résultat final est le suivant :
Exemple 4 : Travailler avec une table
Tous les formats dont nous avons discuté et mentionné peuvent être appliqués à une table PostgreSQL. Pour cet exemple, nous avons un tableau nommé « commandes » qui contient la colonne « date ». Pour en sélectionner les éléments et utiliser TO_CHAR() pour la colonne « date », nous exécutons notre commande comme illustré ci-dessous :
Vous pouvez utiliser n'importe quel format que vous souhaitez. Voici la même commande mais avec un format de date différent :
Si nous voulons afficher uniquement le jour de la semaine et le mois à partir de la colonne date, voici comment régler la commande :
N'hésitez pas à spécifier le format idéal avec lequel vous souhaitez travailler pour votre cas.
Conclusion
TO_CHAR() est une fonction PostgreSQL pratique qui permet aux utilisateurs de convertir les horodatages et autres littéraux en chaînes. Cet article montre les différentes manières d'utiliser TO_CHAR() pour les dates. Nous avons fourni différents exemples pour vous assurer que vous comprenez rapidement le contenu. Espérons que TO_CHAR() ne vous dérangera plus.