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%