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%