Domanda

Ho una tabella con una colonna 'A'. Alcune righe hanno 14 cifre per la colonna 'A' e alcune hanno solo 12. Ho bisogno di trasformare tutte le voci a 14 cifre. Il tipo di dati è varchar

desidero aggiornare tutte le righe alla volta (una query), aggiungendo zeri prima della prima cifra, quindi una voce come 012.345,67891 milioni diventerebbe 00.012.345,67891 milioni.

E 'possibile farlo in una singola query? Grazie

È stato utile?

Soluzione

Questo dovrebbe fare quello che vuoi:

UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14

Altri suggerimenti

solo aggiornare tutte le righe quale lunghezza è 12, e anteporre '00'

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top