
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Accepted Solutions
.png)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
BI Consultant
.png)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
BI Consultant
