LPAD con cero inicial
Tengo mesa con números de factura. Las pautas dicen que los números deben tener 6 o más dígitos. En primer lugar trató de hacer:
UPDATE t1 SET NUMER=CONCAT('00000',NUMER) WHERE LENGTH(NUMER)=1;
UPDATE t1 SET NUMER=CONCAT('0000',NUMER) WHERE LENGTH(NUMER)=2;
UPDATE t1 SET NUMER=CONCAT('000',NUMER) WHERE LENGTH(NUMER)=3;
UPDATE t1 SET NUMER=CONCAT('00',NUMER) WHERE LENGTH(NUMER)=4;
UPDATE t1 SET NUMER=CONCAT('0',NUMER) WHERE LENGTH(NUMER)=5;
Pero eso no es eficiente, e incluso bonito. Lo intentéLPAD
función, pero luego vino el problema porque la función:
UPDATE t1 SET NUMER=LPAD(NUMER,6,'0') WHERE CHAR_LENGTH(NUMER)<=6 ;
devuelve CERO filas afectadas. También buscó en Google y dicen que poner cero entre comillas resolverá el problema, pero no lo hizo, ¿alguna ayuda? Es una importación diaria.
EDIT: la columna NUMER es INT (19) y contiene datos como:
NUMER
----------
1203
12303
123403
1234503
...
(está lleno de datos con diferente longitud de 3 a 7 dígitos por ahora)