Comment mettre à jour plusieurs lignes avec des valeurs différentes dans MySQL?
-
20-09-2019 - |
Question
J'ai une table avec une colonne 'A'. Certaines lignes ont 14 chiffres pour la colonne « A » et certains ont seulement 12. Je dois transformer toutes les entrées à 14 chiffres. Le type de données est varchar
Je voudrais mettre à jour toutes les lignes à la fois (une requête), ajouter des zéros avant le premier chiffre, donc une entrée comme 012345678910 deviendrait 00012345678910.
Est-il possible de le faire en une seule requête? Merci
La solution
Cela devrait faire ce que vous voulez:
UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14
Autres conseils
juste mettre à jour toutes les lignes dont la longueur est 12, et ajoutez la mention '00'
UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow