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

¿Fue útil?

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