Bonjour tout le monde,
J'ai un champs dans ma table de type varchar contenant des dates.
je voudrais modifier ce type en DateTime. y'a-t-il un moyen de le faire sans perdre les données que j'ai dans ce champs ? Merci
Version imprimable
Bonjour tout le monde,
J'ai un champs dans ma table de type varchar contenant des dates.
je voudrais modifier ce type en DateTime. y'a-t-il un moyen de le faire sans perdre les données que j'ai dans ce champs ? Merci
Saluton,
Par prudence je te conseille de créer une colonne de type DATETIME puis d'essayer de l'alimenter par requête UPDATE à patir du VARCHAR.
Ce n'est qu'une fois cet UPDATE réalisé et contrôlé que tu pourras supprimer la colonne VARCHAR.
Bonne idée. merci pour ta réponse.:king:
j'ai créé un champs que j'ai nommé TimeStamp_bis de type datetime dans lequel je dois mettre les valeur du champs timestamp de type varchar.
J'ai fait la requête suivante pour Update:
Mais j'ai pas eu le bon résultat.Code:
1
2
3
4
5
6 update devis_auto set timestamp_bis = ( select timestamp from ( select id_devis_auto,timestamp from devis_auto ) as x where devis_auto.id_devis_auto= x.id_devis_auto)
J'ai modifié la requête comme suit :
Il m'a affecté une seule ligne.Code:
1
2
3
4
5
6
7
8
9
10
11
12 UPDATE devis_auto AS p1 SET p1.timestamp_bis = p1.timestamp WHERE p1.id_devis_auto = ( SELECT * FROM ( SELECT p2.id_devis_auto FROM devis_auto AS p2 ) tmp )
Quelqu'un peut me corriger la requête pour affecter toutes les lignes ? Merci d'avance
Bonjour,
Regarde du côté de la fonction CAST(champ AS DATETIME).
Pour que ça fonctionne, le format de la chaîne de caractère passée en paramètre doit être 'AAAA-MM-JJ HH:MM:SS'.
Tu fais juste un UPDATE avec CAST :
Si timestamp n'est pas dans le bon format, il faut le retoucher à coup de SUBSTRING pour le réarranger correctement...Code:
1
2 UPDATE devis_auto SET timestamp_bis = CAST(timestamp AS DATETIME)
ced