Existuje několik způsobů, jak naformátovat číslo jako procento v SQL, v závislosti na používaném DBMS.
Zde jsou příklady přidání znaku procenta k číslu v některých z nejpopulárnějších DBMS.
MySQL
V MySQL můžeme použít the CONCAT()
funkce pro spojení čísla a znaku procenta:
SELECT CONCAT(3.75, '%');
Výsledek:
3.75%
Další informace naleznete v části Formát čísla jako procenta v MySQL.
SQL Server
FORMAT()
SQL Serveru Funkce nám poskytuje P
specifikátor formátu, který se používá k zobrazení znaku procenta ve formátovaném čísle:
SELECT FORMAT(.27, 'P') Result;
Výsledek:
+----------+ | Result | |----------| | 27.00% | +----------+
Další informace naleznete v části 4 způsoby převodu čísla na procento na serveru SQL.
Oracle
Oracle Database má TO_CHAR(number)
funkce, kterou můžeme použít k formátování čísla. Pak můžeme použít CONCAT()
zřetězení čísla a znaku procenta:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
Výsledek:
18.00%
Další informace naleznete v části Formát čísla jako procenta v Oracle.
PostgreSQL
V PostgreSQL můžeme použít TO_CHAR()
funkce pro formátování čísla v procentech.
Zde jsou různé příklady, které demonstrují některé z věcí, které můžeme s touto funkcí dělat:
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";
Výsledek:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Více viz 3 způsoby formátování čísla jako procenta v PostgreSQL.
MariaDB
MariaDB má CONCAT()
funkce k provedení úlohy:
SELECT CONCAT(7.45, '%');
Výsledek:
7.45%
Další informace naleznete v části Přidání znaku procenta k číslu v MariaDB.
SQLite
S SQLite můžeme použít PRINTF()
funkce:
SELECT PRINTF('%2d%%', 17);
Výsledek:
17%
V případě potřeby můžeme alternativně zřetězit znak procenta a číslo. Příklad viz 2 způsoby přidání znaku procenta k číslu v SQLite.
Aktualizovat :SQLite 3.38.0 (vydáno 22. února 2022) přejmenováno na PRINTF()
funkce na FORMAT()
. Původní PRINTF()
jméno je zachováno jako alias pro zpětnou kompatibilitu.
Výše uvedený příklad lze tedy změnit na tento:
SELECT FORMAT('%2d%%', 17);
Výsledek:
17%