Der er flere måder at formatere et tal som en procentdel i SQL, afhængigt af det DBMS, der bruges.
Her er eksempler på at tilføje et procenttegn til et tal i nogle af de mest populære DBMS'er.
MySQL
I MySQL kan vi bruge than CONCAT()
funktion til at sammenkæde tallet og procenttegnet:
SELECT CONCAT(3.75, '%');
Resultat:
3.75%
Se Formater et tal som en procentdel i MySQL for mere.
SQL-server
SQL Servers FORMAT()
funktionen giver os P
formatangivelse, som bruges til at vise et procenttegn i det formaterede tal:
SELECT FORMAT(.27, 'P') Result;
Resultat:
+----------+ | Result | |----------| | 27.00% | +----------+
Se 4 måder at konvertere et tal til en procentdel i SQL Server for mere.
Oracle
Oracle Database har en TO_CHAR(number)
funktion, som vi kan bruge til at formatere et tal med. Vi kan derefter bruge CONCAT()
for at sammenkæde tallet og procenttegnet:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
Resultat:
18.00%
Se Formater et tal som en procentdel i Oracle for mere.
PostgreSQL
I PostgreSQL kan vi bruge TO_CHAR()
funktion til at formatere et tal som en procentdel.
Her er forskellige eksempler for at demonstrere nogle af de ting, vi kan gøre med denne funktion:
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";
Resultat:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Se 3 måder at formatere et tal som en procentdel i PostgreSQL for mere.
MariaDB
MariaDB har en CONCAT()
funktion til at udføre jobbet:
SELECT CONCAT(7.45, '%');
Resultat:
7.45%
Se Tilføj et procenttegn til et tal i MariaDB for mere.
SQLite
Med SQLite kan vi bruge PRINTF()
funktion:
SELECT PRINTF('%2d%%', 17);
Resultat:
17%
Vi kan alternativt sammenkæde procenttegnet og tallet, hvis det kræves. Se 2 måder at tilføje et procenttegn til et tal i SQLite for et eksempel.
Opdater :SQLite 3.38.0 (frigivet 22. februar 2022) omdøbte PRINTF()
funktion til FORMAT()
. Den originale PRINTF()
navnet bibeholdes som et alias for bagudkompatibilitet.
Så ovenstående eksempel kan ændres til dette:
SELECT FORMAT('%2d%%', 17);
Resultat:
17%