par
Ryle » 27 déc. 2011, 15:05
Ben le mieux c'est effectivement d'adapter le contenant en fonction de son contenu (faut pas servir de la bière dans un shooter, ni de la vodka dans une pinte

)
Il n'y a pas de méthode toute faite pour convertir tes données, mais le plus simple consiste à créer une nouvelle colonne (ex : ma_nouvelle_date) au format "date". Il te faut ensuite faire un update de ta table en copiant les données du champ date_visite vers ma_nouvelle_date en les formatant AAAA-MM-JJ.
Par exemple, si tes données sont au format AAAA/MM/JJ, tu peux faire simplement :
UPDATE reference SET ma_nouvelle_date = REPLACE('/', '-', date_visite)
Si le format de la date est différent, il faut utiliser des SUBSTR() pour couper la chaine et la réordonner comme il convient avant de mettre à jour ma_nouvelle_date.
Il te suffit ensuite de supprimer ta colonne date_visite (une fois que tu te seras assuré que toutes les dates ont correctement été copiées), puis de renommé ta colonne ma_nouvelle_date en date_visite, et hop... tu as un champ date tout propre, avec lequel tu peux faire du between, datediff(), date_add(), year(), month(), day(), ...

Ben le mieux c'est effectivement d'adapter le contenant en fonction de son contenu (faut pas servir de la bière dans un shooter, ni de la vodka dans une pinte ;))
Il n'y a pas de méthode toute faite pour convertir tes données, mais le plus simple consiste à créer une nouvelle colonne (ex : ma_nouvelle_date) au format "date". Il te faut ensuite faire un update de ta table en copiant les données du champ date_visite vers ma_nouvelle_date en les formatant AAAA-MM-JJ.
Par exemple, si tes données sont au format AAAA/MM/JJ, tu peux faire simplement : [sql]UPDATE reference SET ma_nouvelle_date = REPLACE('/', '-', date_visite)[/sql]Si le format de la date est différent, il faut utiliser des SUBSTR() pour couper la chaine et la réordonner comme il convient avant de mettre à jour ma_nouvelle_date.
Il te suffit ensuite de supprimer ta colonne date_visite (une fois que tu te seras assuré que toutes les dates ont correctement été copiées), puis de renommé ta colonne ma_nouvelle_date en date_visite, et hop... tu as un champ date tout propre, avec lequel tu peux faire du between, datediff(), date_add(), year(), month(), day(), ... :)