Saltar al contenido

DB2 SQL Convert Decimal to Character con ceros rellenos

Posterior a de nuestra extensa búsqueda de datos resolvimos esta incógnita que pueden tener ciertos usuarios. Te ofrecemos la solución y nuestro objetivo es servirte de mucha apoyo.

Solución:

Solo usa el DIGITS función, porque esta verifica la longitud del campo numérico o decimal, etc y se completa con ceros a la izquierda cuando es necesario.

SELECT DIGITS(FIELD) FROM ...

La longitud de la resultante string es siempre:

  • 5 si el argumento es un entero pequeño
  • 10 si el argumento es un entero grande
  • 19 si el argumento es un entero grande

Según su comentario en la respuesta de @Mr Fuzzy Botton, supongo que está en DB2 for ique no tiene la LPAD función. En su lugar, podría utilizar una combinación de los REPEAT y RIGHTfunciones:

SELECT RIGHT(REPEAT('0', 11) || LTRIM(CHAR(your_field)), 11)
FROM your_table

Usando http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db2.doc.sqlref/castsp.htm para obtener detalles sobre CAST
y http://pic.dhe.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db2z10.doc.sqlref/src/tpc/db2z_scalarfunctionsintro.htm para string funciones,
Supongo que esto debería hacer el truco:

SELECT LPAD( CAST(FIELD AS CHAR(11)) ,11,'0') AS PADDEDFIELD

Agradecemos que quieras añadir valor a nuestra información dando tu experiencia en las reseñas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *