Saltar al contenido

Relleno de ceros a la izquierda en postgreSQL

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.

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



Utiliza Nuestro Buscador

Deja una respuesta

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