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

Était-ce utile?

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
scroll top