J'ai importé un fichier CSV dans mysql avec des dates dans le format J'ai maintenant besoin d'une requête pour le convertir du texte au format de date jj / mm / aaaa code>. p>
AAAA-MM-DD CODE>. P>
4 Réponses :
Vous pouvez utiliser le Str_to_date (str, format) fonction MySQL.
Exemple d'édition my_date_col code> pour un converti one: p>
Veuillez envisager de marquer l'une des réponses afin que nous sachions que la question est fermée;)
Vous pouvez utiliser Si vous en avez besoin donc, vous pouvez le faire sur toute la table avec une seule mise à jour ou, si vous souhaitez convertir le type de données de la colonne str_to_date () code> de la manière suivante pour convertir votre texte dans une date de la date code>: Date Code> dans un format spécifique, vous pouvez utiliser date_format () code> .
Ce n'est probablement pas nécessaire dans votre cas, mais voici un exemple de complétude: p> < / 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): p> Date code> Vous pouvez modifier la table pour créer une nouvelle colonne de date code> 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. p>
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));
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')