Tenemos varias opciones si queremos mostrar números con un signo de porcentaje en PostgreSQL.
Podemos usar el TO_CHAR() función para formatear el número junto con el signo de porcentaje. O simplemente podemos concatenar el número con el signo de porcentaje, ya sea con CONCAT() función o con el operador de concatenación.
El TO_CHAR() Función
Esta opción implica pasar el número y un patrón de plantilla numérico a la función para devolver el número con el formato especificado por el patrón de plantilla. Para obtener un signo de porcentaje, lo incluimos en nuestro patrón de plantilla:
SELECT TO_CHAR(35, 'fm00D00%'); Resultado:
35.00%
Aquí, usé el 0 patrón de plantilla, lo que significa que la posición del dígito siempre se imprimirá, incluso si contiene un cero al principio o al final.
También usé el fm modificador de formato para suprimir los ceros iniciales o finales o los espacios en blanco.
Aquí está con algunos otros patrones de plantilla:
SELECT
TO_CHAR(7, 'fm00%') AS "1",
TO_CHAR(7, 'fm99%') AS "2",
TO_CHAR(7.4567, 'fm0D00%') AS "3",
TO_CHAR(7, 'fm0D00%') AS "4"; Resultado:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Podemos realizar un cálculo contra el número si es necesario:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2"; Resultado:
+-------+--------+ | 1 | 2 | +-------+--------+ | 3.50% | 35.00% | +-------+--------+
En este caso incluyo el 9 patrón de plantilla para que se omitan los ceros iniciales.
El CONCAT() Función
Otra forma de hacerlo es usar CONCAT() función para concatenar el número y el signo de porcentaje:
SELECT CONCAT(35, '%'); Resultado:
35%
El Operador de Concatenación
Otra forma de concatenar el número y el signo de porcentaje es usar el operador de concatenación (|| ):
SELECT 35 || '%'; Resultado:
35%