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

Comment convertir une chaîne en une date dans PostgreSQL

Problème :

Vous souhaitez convertir une chaîne contenant une date en date PostgreSQL type de données.

Convertissons une chaîne de date en date type de données au lieu de son texte actuel type de données.

Solution :

Voici l'exemple 1 d'utilisation de TO_DATE() une fonction. Voici la requête que vous écririez :

SELECT TO_DATE('20020304', 'YYYYMMDD') AS  new_date;

Et voici le résultat de la requête :

new_date
2002-03-04

Regardons l'exemple 2 du TO_DATE() une fonction. Notez le format de date légèrement différent :

SELECT TO_DATE('2015/06/07', 'YYYY/MM/DD') AS  new_date;

Voici le résultat de la requête :

new_date
2015-06-07

Discussion :

Utilisez la fonction TO_DATE() pour convertir une valeur texte contenant une date en date Type de données. Cette fonction prend deux arguments :

  1. Une valeur de date. Il peut s'agir d'une chaîne (une valeur de texte) ou d'une colonne de texte contenant des informations de date. Dans notre exemple, nous avons utilisé les chaînes '20020304' et '2015/06/07' .
  2. Le format de la date d'entrée. Dans notre exemple, nous avons utilisé 'YYYYMMDD' et 'YYYY/MM/DD' . Notez que le format d'entrée est une chaîne.

Le format d'entrée décide comment PostgreSQL traitera les caractères dans la chaîne où la date est stockée. Le spécificateur "YYYY" comme les quatre premiers caractères indique qu'ils représentent une année à 4 chiffres. Ensuite, "MM" représente un mois à 2 chiffres et "JJ" un jour à 2 chiffres. Vous pouvez trouver une liste de tous les spécificateurs dans la documentation PostgreSQL.

Dans l'exemple 1, la chaîne date sous la forme '20020304 ' a été converti en date '2002-03-04' (une date Type de données. Dans l'exemple 2, la chaîne '2015/06/07' a été converti en date '2015-06-07' . Dans le deuxième exemple, nous avons utilisé le slash / entre les parties de date pour convertir correctement d'une chaîne en date type de données.