Skip to main content
Announcements
Accelerate Your Success: Fuel your data and AI journey with the right services, delivered by our experts. Learn More
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

quitar 0 de la izquierda en un campo sin convertir en numero

Hola a todos,

tengo una duda y no se como lo podría solucionar tengo un campo de una tabla en el script que me muestra 0 a la izquierda y los quiero quitar, pero no quiero convertir el campo en numero.

Tenéis alguna idea como lo podría solucionar?

Gracias

Saludos

1 Solution

Accepted Solutions
alex_millan
Creator III
Creator III

Hola José María,

si quieres conservar el dato en texto y el número de ceros a la izquierda puede variar, quizás podrías utilizar algunas funciones de cadena a la vez para conseguir lo que quieres:

Mid(TuCampo,index(TuCampo,left(PurgeChar(TuCampo,'0'),1)),Len(TuCampo)-index(TuCampo,left(PurgeChar(TuCampo,'0'),1))+1) As TuCampoSinCeros

Espero que te sirva de ayuda.

Un saludo,

Alex

View solution in original post

8 Replies
Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Te refieres a los ceros de inicio ?

O a que muestra el valor 0 para un campo ?

sorrakis01
Specialist
Specialist

Hola JL,

Si solo tienes un 0 podrías probar:

If(Left(Id,1) = 0,Mid(Id,2,Len(Id)),Id) as Id_Num

y si no siempre tienes el campo Replace: Replace(Id,'0','') aunque esto lo q hace substituir todos los 0 y si tienes el número 01020 te quedaría 12, por lo que si quieres usarlo tendrás que controla q el 0 se encuentra siempre en la primera posición....

O quizás lo más sencillo será: Text(Id * 1) as Id_Text

Saludos,

josemaria
Creator II
Creator II
Author

Hola Joaquín,

Me refiero a un campo que tiene unos valores y me los muestra con 0 a la izquierda (000100,00500,0150) y quisiera que me los mostrase sin los 0 de la izquierda (100,500,150).

Gracias,

Saludos

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Hola

Yo uso

LOAD ...

          IF (Left(TuCampo, 1) = '0', Evaluate(TuCampo & '* 1'), TuCampo as TuCampo

Saludos

Joaquín

sorrakis01
Specialist
Specialist

Por cierto,

La fórmula: Text(Id * 1) as Id_Text si Id tiene más de 14 dígitos no te va a funcionar.

En el caso de la que propone Joaquín aguanta unos dígitos más pero creo que tendrás que pasarla a Texto porque en su formato está en Número.

La solución de Alex es la que te conserva todos los números que esten, pongas los que pongas.

Saludos,

alex_millan
Creator III
Creator III

Hola José María,

si quieres conservar el dato en texto y el número de ceros a la izquierda puede variar, quizás podrías utilizar algunas funciones de cadena a la vez para conseguir lo que quieres:

Mid(TuCampo,index(TuCampo,left(PurgeChar(TuCampo,'0'),1)),Len(TuCampo)-index(TuCampo,left(PurgeChar(TuCampo,'0'),1))+1) As TuCampoSinCeros

Espero que te sirva de ayuda.

Un saludo,

Alex

josemaria
Creator II
Creator II
Author

Gracias Alex, es lo que quería.

Muchas gracias a todos por las aportaciones, es un lujo poder aprender cada día algo nuevo.

Un Saludo

alex_millan
Creator III
Creator III

Un placer ser de ayuda.

Hasta otra!