Pergunta

Eu tenho uma mesa com uma coluna 'A'. Algumas linhas têm 14 dígitos para a coluna 'A' e outros têm apenas 12. Preciso transformar todas as entradas em 14 dígitos. O tipo de dados é varchar

Gostaria de atualizar todas as linhas de uma só vez (uma consulta), adicionando zeros antes do primeiro dígito; portanto, uma entrada como 012345678910 se tornaria 00012345678910.

É possível fazer isso em uma única consulta? Obrigado

Foi útil?

Solução

Isso deve fazer o que você quiser:

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

Outras dicas

Basta atualizar todas as linhas de qual comprimento é 12 e prenda '00'

UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top