10
votes

Query SQL Convertir le champ de texte DD / MM / AAA AAA AVEC LE CHAMP DE DATE YYYY-MM-DD

J'ai importé un fichier CSV dans mysql avec des dates dans le format jj / mm / aaaa .

J'ai maintenant besoin d'une requête pour le convertir du texte au format de date AAAA-MM-DD .


0 commentaires

4 Réponses :


18
votes

Vous pouvez utiliser le Str_to_date (str, format) fonction MySQL.

Exemple d'édition my_date_col pour un converti one: xxx


1 commentaires

Veuillez envisager de marquer l'une des réponses afin que nous sachions que la question est fermée;)



4
votes

Vous pouvez utiliser str_to_date () de la manière suivante pour convertir votre texte dans une date de la date : xxx

Si vous en avez besoin Date dans un format spécifique, vous pouvez utiliser date_format () .
Ce n'est probablement pas nécessaire dans votre cas, mais voici un exemple de complétude: xxx

donc, vous pouvez le faire sur toute la table avec une seule mise à jour < / code> Pour remplacer les données actuelles avec les données reformatées (tout en conservant le type de données de la même manière): xxx

ou, si vous souhaitez convertir le type de données de la colonne Date Vous pouvez modifier la table pour créer une nouvelle colonne de date formatée, utilisez la mise à jour ci-dessus pour remplir cette colonne, supprimez la colonne d'origine, puis (éventuellement) renommer la nouvelle colonne à l'ancien nom. xxx


0 commentaires

1
votes

Cela devrait fonctionner, mais cela ne doit pas:

The solution I've found is this:  PHP
$user_date = "8/31/12"; // WORKS
$mysql_date = date('Y-m-d H:i:s', strtotime($user_date));


0 commentaires

0
votes

Ce qui précède a été utile, mais ce qui suit a fonctionné pour moi sur MySQL.

ALTER TABLE `tablename` ADD `newcolumn` DATE NOT NULL ;
UPDATE `tablename` SET `newcolumn`=STR_TO_DATE(`oldcolumn`, '%d/%c/%Y')


0 commentaires