[Mysql] Modification d'une partie d'une valeur

Modification d'une partie d'une valeur [Mysql] - SQL/NoSQL - Programmation

Marsh Posté le 12-12-2013 à 12:25:39    

Bonjour !
 
Je poste ici car je ne vois pas trop comment faire...
 
J'ai un champ "value" qui contient quelque chose du style "123.456 - Toto tata titi|345.546 - Tutu tete tyty|900.890 - Bonjour"
 
Je dois pouvoir modifier juste une partie en filant l'id (les chiffres 123.456, 345.546...) uniquement jusqu'au prochain pipe ou sinon à la fin de la chaîne.
 
Genre on me donne "123.456 - la nouvelle valeur" et je dois remplacer "Toto tata titi" par la nouvelle "la nouvelle valeur"
 
J'ai une idée du style "replace(substr(locate(code), locate("|" ) - locate(code)) mais bon, je suis pas sûr !
 
Merci !

Reply

Marsh Posté le 12-12-2013 à 12:25:39   

Reply

Marsh Posté le 13-12-2013 à 16:47:44    

Je pensais aussi à utiliser REPLACE. Cela dit, je m'interroge sur la façon dont sont stockées tes données. Ca ressemble à une tentative de prendre une relation 1-n et de la transformer en relation 1-1.
Si ton champ "value" était scindé en 2 champs, un "id" et un "value" avec autant d'entrées dans la table pour un ID qu'il a de value différentes, t'aurais pas ce pb :/
Parce que ta formule, j'ai peur que sur des gros volumes, ça rame...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed