1 Reply Latest reply: Nov 5, 2011 10:11 PM by Miguel Angel Baeyens de Arce RSS

    ceros a la izquierda

      Hola quiere enlazar dos tablas por un campo, este en una de ellas es alfanumerico con ceros a la izquierda de relleno, como puedo quitar estos ceros?

        • Re: ceros a la izquierda
          Miguel Angel Baeyens de Arce

          Hola,

           

          Puedes utilizar la función Num() que ignorará los ceros a la izquierda tratando el valor del campo como numérico, en el caso de que todos los caracteres posibles en dicho valor sean numéricos:

           

          Tabla:
          LOAD Num(Campo) AS Campo,
               ...
          FROM Origen;
          

           

          Si el valor puede tener otros caracteres no numéricos aunque puede empezar por ellos, tendrás que utilizar una o varias funciones de cadena para eliminarlos, por ejemplo:

           

          =Replace(LTrim(Replace('00000FA012011', '0', ' ')), ' ', 0) 
          

           

          Probando esta expresión en un objeto de texto, y teniendo en cuenta que las funciones siempre se ejecutan desde dentro hacia afuera, lo que hace es convertir todos los ceros en espacios en blanco con el primer Replace(), después, con LTrim() elimina los espacios a la izquierda (lo que antes eran ceros) y el último Replace() devuelve los espacios al cero original. La idea original la obtuve de Rakesh Mehta.

           

          Espero que te sirva.

           

          Miguel Angel Baeyens

          BI Consultant

          Comex Grupo Ibérica