Cómo actualizar varias filas con diferentes valores en MySQL?
-
20-09-2019 - |
Pregunta
Tengo una tabla con una columna 'A'. Algunas filas con 14 dígitos para la columna 'A' y algunos sólo tienen 12. Necesito transformar todas las entradas a 14 dígitos. El tipo de datos es varchar
Me gustaría actualizar todas las filas a la vez (una consulta), añadiendo ceros antes de que el primer dígito, por lo que una entrada como se haría 012345678910 00012345678910.
¿Es posible hacerlo en una sola consulta? Gracias
Solución
Esto debería hacer lo que quiera:
UPDATE your_table SET column_name = LPAD(column_name, 14, "0")
WHERE LENGTH(column_name) < 14
Otros consejos
acaba de actualizar todas las filas cuya longitud es de 12, y anteponer '00'
UPDATE `table`
SET `col` = '00'+`col`
WHERE LENGTH(`col`) = 12
update table1 set columnA=concat('00',columnA) where char_length(columnA)=12
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow