Bonjour, je cherche à faire un INSERT INTO à partir de date au mauvais format. Par exemple 09/18/2007 00:00:00, ce qui ne passe pas sur MySQL. J'ai donc fait un trigger qui convertit cette chaîne dans le bon format. Ca marche quand mon champ de destination est au format texte, mais pas quand il est au format datetime.
Voici mon trigger :
Un fois que l'insert est fini, il y a 0000-00-00 00:00:00 dans le champ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 delimiter // CREATE TRIGGER gruik BEFORE INSERT ON test FOR EACH ROW BEGIN IF CHAR_LENGTH(NEW.Valeur) > 0 THEN SET NEW.Valeur=CONCAT(SUBSTRING(NEW.Valeur,7,4),"-",SUBSTRING(NEW.Valeur,1,2),"-",SUBSTRING(NEW.Valeur,4,2)," ",SUBSTRING(NEW.Valeur,12,8)); ELSE SET NEW.Valeur=NEW.Valeur; END IF; END // delimiter ;
Merci de votre aide, je sèche
Partager