En SQLite, podemos usar PRINTF()
función o FORMAT()
función para formatear números con ceros a la izquierda.
Ejemplo
SELECT PRINTF('%03d', 7);
Resultado:
007
El signo de porcentaje (%
) indica que sigue una sustitución.
El 0
indica que SQLite debe anteponer tantos 0
caracteres a sustituciones numéricas según sea necesario para expandir el valor al ancho especificado.
El d
indica que el argumento es un entero con signo que se muestra en formato decimal (a diferencia de hexadecimal, octal, etc.).
Entonces, si quisiéramos más ceros a la izquierda, podemos aumentar el 3
a un número mayor:
SELECT PRINTF('%09d', 7);
Resultado:
000000007
Para números enteros, podemos incluir una coma para el separador de grupo:
SELECT PRINTF('%0,9d', 72345);
Resultado:
000,072,345
El FORMAT()
Función
SQLite 3.38.0 (lanzado el 22 de febrero de 2022) cambió el nombre de PRINTF()
función para FORMAT()
. El PRINTF()
original el nombre se conserva como un alias para la compatibilidad con versiones anteriores.
Por lo tanto, el primer ejemplo anterior se puede cambiar a este:
SELECT FORMAT('%2d%%', 17);
Resultado:
17%