¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como remover zeros iniciais em números e manter alfanuméricos: Guia passo a passo e função de verificação - Gokul

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Olá,

Temos uma situação em que precisamos remover os zeros iniciais apenas para os Materiais que possuem números e mantê-los para os Materiais que são alfanuméricos.

000000000000012345 - Deve ser alterado para 12345

001-AA-5TEST - Não precisa de alteração para este.

Existe uma função para verificar se um valor em uma coluna é alfanumérico?

Por favor, sugira.

Obrigado,

Gokul

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá,

Você também pode usar a seguinte fórmula que foi realmente rápida.

Fórmula 1:

if( match("PRODUCT_ID", '*A*') OR match("PRODUCT_ID", '*B*') OR match("PRODUCT_ID", '*C*') OR match("PRODUCT_ID", '*D*') OR match("PRODUCT_ID", '*E*') OR match("PRODUCT_ID", '*F*') OR match("PRODUCT_ID", '*G*') OR match("PRODUCT_ID", '*H*') OR match("PRODUCT_ID", '*I*') OR match("PRODUCT_ID", '*J*') OR match("PRODUCT_ID", '*K*') OR match("PRODUCT_ID", '*L*') OR match("PRODUCT_ID", '*M*') OR match("PRODUCT_ID", '*N*') OR match("PRODUCT_ID", '*O*') OR match("PRODUCT_ID", '*P*') OR match("PRODUCT_ID", '*Q*') OR match("PRODUCT_ID", '*R*') OR match("PRODUCT_ID", '*S*') OR match("PRODUCT_ID", '*T*') OR match("PRODUCT_ID", '*U*') OR match("PRODUCT_ID", '*V*') OR match("PRODUCT_ID", '*W*') OR match("PRODUCT_ID", '*X*') OR match("PRODUCT_ID", '*Y*') OR match("PRODUCT_ID", '*Z*') , "PRODUCT_ID",ltrim("PRODUCT_ID",'0'))

Fórmula 2:

if(

strlen( replace( replace( replace( replace( replace( replace( replace( replace( replace( replace( "PRODUCT_ID" , '0' , '' ) , '1' , '' ) , '2' , '' ) , '3' , '' ) , '4' , '' ) , '5' , '' ) , '6' , '' ) , '7' , '' ) , '8' , '' ) , '9' , '' ) ) > 0 , 1 , 0 )

Obrigado
RufusSamuel

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

A forma mais simples que encontrei para fazer isso é usando a função TRIM com a extensão LEADING/TRAILING/BOTH.

Exemplo a seguir-

Consulta: select TRIM( LEADING '0' FROM '000001234') from dummy

Resultado: 1234

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Depois de publicar isso, pensei em obter os resultados que acredito que você queria, todos os dados com apenas os valores numéricos recortados, você pode tentar uma consulta assim:

SELECT A, B FROM T where B LIKE_REGEXPR '\D'
UNION
SELECT A, LTRIM(B,'0') FROM T where NOT B LIKE_REGEXPR '\D'
ORDER BY A;

Supondo que haja algo para reordená-los de acordo com sua preferência. Mas os resultados finais são assim:

A    B
1    12345
2    001-AA-5TEST
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Três dicas sobre isso:

1. Procure antes de publicar uma pergunta!

2. As funções regexpr_ são suas amigas para isso.

3. Procure antes de publicar uma pergunta!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?