Convertir une chaîne en format de date dans MySQL

Mehvish Ashiq 30 janvier 2023
  1. Convertir une chaîne en format de date dans MySQL
  2. conclusion
Convertir une chaîne en format de date dans MySQL

Cet article vous guidera et vous guidera à travers différentes fonctions pour convertir une valeur de type chaîne qui agit comme DATE en une valeur de type DATE. Nous allons également pratiquer avec quelques exemples de code utilisant les fonctions STR_TO_DATE(), CONVERT() et CAST() dans MySQL.

REMARQUE : Nous utilisons MySQL V8.0.27. Vous pouvez obtenir le plus récent à partir de ici (si disponible)

Convertir une chaîne en format de date dans MySQL

Nous allons apprendre les méthodes suivantes pour convertir une chaîne au format DATE dans MySQL.

Fonction MySQL STR_TO_DATE()

Cette fonction convertit la str (chaîne) en valeur DATE. Le format de DATE sera en fonction de votre format de chaîne. Par exemple, vous souhaitez convertir MM/DD/YYYY du type chaîne vers le type DATE, alors la DATE sera également au format MM/DD/YYYY.

La fonction STR_TO_DATE() peut renvoyer la valeur DATE, DATETIME ou TIME en fonction de l’entrée ainsi que du format de chaîne. Consultez les exemples ci-dessous et comparez-les avec la sortie.

SELECT STR_TO_DATE('2021-08-23', '%Y-%m-%d');

Production :

convertir la chaîne au format date dans mysql - str en sortie date un

Et si on changeait de format ? Remplaçons le tiret par une virgule.

SELECT STR_TO_DATE('2021-08-23', '%Y,%m,%d');

Production :

convertir la chaîne au format date dans mysql - str à date erreur un

Voir la sortie donnée ci-dessus, elle a renvoyé NULL. Changeons le format uniquement de YYYY-MM-DD en DD-MM-YYYY.

SELECT STR_TO_DATE('2021-08-23', '%d-%m-%Y');

Production :

convertir la chaîne au format date dans mysql - str à date erreur deux

Vous voyez, il a renvoyé NULL à nouveau. Cela signifie que vous devez avoir le même format DATE que celui que vous avez dans votre chaîne d’entrée. Et si nous avions aussi TIME ? Exécutons la commande suivante.

SELECT STR_TO_DATE('2021-08-23 10:12:23', '%Y-%m-%d %T');

Production :

convertir la chaîne au format de date dans mysql - str à la date de sortie deux

La fonction STR_TO_DATE() ignorera le texte et n’affichera que la DATE. Voir l’exemple suivant.

SELECT STR_TO_DATE('2021-08-23 some other string', '%Y-%m-%d') as Date;

Production :

convertir la chaîne au format de date dans mysql - str à la date de sortie quatre

Nous pouvons également extraire l’année. Si vous extrayez l’année, cela mettra le jour et le mois à zéro. Voir le code et la sortie suivants.

SELECT STR_TO_DATE('2021-08-23', '%Y') as Year; #get year

Production :

convertir la chaîne au format de date dans mysql - str en sortie de date cinq

Fonction MySQL CONVERT()

La fonction Convert peut convertir la valeur donnée en un jeu de caractères ou un type de données spécifié. Vous pouvez voir les détails sur le type de données ici.

SELECT CONVERT("2021-08-19", DATE); #convert to DATE
SELECT CONVERT("2021-08-19", DATETIME); #convert to DATETIME
SELECT CONVERT("2021-08-19", TIME); #convert to TIME

Production :

convertir la chaîne au format date dans mysql - convertir la sortie

Fonction CAST() de MySQL

Cette fonction convertit l’entrée de n’importe quel type (il peut s’agir d’une chaîne, d’un entier ou de quelque chose d’autre) en n’importe quel type de données spécifié. Vous pouvez voir les valeurs des paramètres ici en détail.

SELECT CAST("2021-08-29" AS DATE) as date; #convert to date type
SELECT CAST("2021-08-29 11:12:45" AS DATETIME) as datetime; #convert to datetime type
SELECT CAST("11:12:45" AS TIME) as time; #convert to time type

Production :

convertir la chaîne au format de date dans mysql - sortie cast

conclusion

Nous avons conclu qu’il peut y avoir plusieurs façons de convertir une valeur de chaîne en DATE, TIME, et DATETIME selon les exigences du projet. Nous avons découvert les fonctions STR_TO_DATE, CONVERT et CAST à des fins de conversion.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook