Luego de consultar con especialistas en la materia, programadores de deferentes ramas y maestros dimos con la respuesta al problema y la dejamos plasmada en este post.
Solución:
Puedes usar el rpad
y lpad
funciones para rellenar números a la derecha o a la izquierda, respectivamente. Tenga en cuenta que esto no funciona directamente en números, por lo que tendrá que usar ::char
o ::text
para lanzarlos:
SELECT RPAD(numcol::text, 3, '0'), -- Zero-pads to the right up to the length of 3
LPAD(numcol::text, 3, '0'), -- Zero-pads to the left up to the length of 3
FROM my_table
los to_char()
función está ahí para dar formato a los números:
select to_char(column_1, 'fm000') as column_2
from some_table;
los fm
prefix (“modo de relleno”) evita los espacios iniciales en el varchar resultante. los 000
simplemente define el número de dígitos que desea tener.
psql (9.3.5) Type "help" for help. postgres=> with sample_numbers (nr) as ( postgres(> values (1),(11),(100) postgres(> ) postgres-> select to_char(nr, 'fm000') postgres-> from sample_numbers; to_char --------- 001 011 100 (3 rows) postgres=>
Para obtener más detalles sobre el formato de imagen, consulte el manual:
http://www.postgresql.org/docs/current/static/funciones-formato.html
Tan fácil como
SELECT lpad(42::text, 4, '0')
Referencias:
- http://www.postgresql.org/docs/current/static/funciones-string.html
sqlfiddle: http://sqlfiddle.com/#!15/d41d8/3665
Sección de Reseñas y Valoraciones
Si estás contento con lo expuesto, tienes la opción de dejar un post acerca de qué le añadirías a esta división.