Имаме няколко опции, ако искаме да показваме числа със знак за процент в PostgreSQL.
Можем да използваме TO_CHAR()
функция за форматиране на числото заедно със знака за процент. Или можем просто да конкатенираме числото със знака за процент, или с CONCAT()
функция или с оператора за конкатенация.
TO_CHAR()
Функция
Тази опция включва предаване на числото и числов шаблон на шаблона на функцията, за да върне числото, форматирано по начина, определен от шаблона. За да получите знак за процент, ние го включваме в нашия шаблон за шаблон:
SELECT TO_CHAR(35, 'fm00D00%');
Резултат:
35,00%
Тук използвах 0
шаблонен шаблон, което означава, че позицията на цифрата винаги ще се отпечатва, дори ако съдържа нула в началото/в края.
Използвах и fm
модификатор на формат за потискане на всички начални/завършващи нули или празни места.
Ето го с някои други шаблони:
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";
Резултат:
+-----+----+-------+-------+| 1 | 2 | 3 | 4 |+-----+----+-------+-------+| 07% | 7% | 7,46% | 7,00% |+-----+----+-------+-------+
Можем да извършим изчисление спрямо числото, ако е необходимо:
SELECT
TO_CHAR(35 * 0.1, 'fm99D00%') AS "1",
TO_CHAR(0.35 * 100, 'fm99D00%') AS "2";
Резултат:
<пред>+-------+-------+| 1 | 2 |+-------+-------+| 3,50% | 35,00% |+-------+-------+
В този случай включвам 9
шаблонен шаблон, така че всички водещи нули да бъдат пропуснати.
CONCAT()
Функция
Друг начин да го направите е да използвате CONCAT()
функция за свързване на числото и знака за процент:
SELECT CONCAT(35, '%');
Резултат:
35%
Операторът за конкатенация
Друг начин за свързване на числото и знака за процент е да използвате оператора за конкатенация (||
):
SELECT 35 || '%';
Резултат:
35%