LPAD com zero inicial
Eu tenho tabela com números de fatura. As diretrizes dizem que os números devem ter 6 ou mais dígitos. Primeiro de tudo tentou fazer:
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;
mas isso não é eficiente e até bonito. eu tenteiLPAD
função, mas depois veio problema porque função:
UPDATE t1 SET NUMER=LPAD(NUMER,6,'0') WHERE CHAR_LENGTH(NUMER)<=6 ;
retorna linhas ZERO afetadas. Também googled e eles dizem que colocar zero em citações irá resolver o problema, mas não, alguma ajuda? É uma importação diária.
EDIT: Coluna NUMER é INT (19) e já contém dados como:
NUMER
----------
1203
12303
123403
1234503
...
(está preenchido com dados com tamanhos diferentes de 3 a 7 dígitos até agora)