Det finns flera sätt att formatera ett tal i procent i SQL, beroende på vilket DBMS som används.
Här är exempel på att lägga till ett procenttecken till ett tal i några av de mest populära DBMS.
MySQL
I MySQL kan vi använda than CONCAT()
funktion för att sammanfoga siffran och procenttecknet:
SELECT CONCAT(3.75, '%');
Resultat:
3.75%
Se Formatera ett tal som en procentandel i MySQL för mer.
SQL-server
SQL Servers FORMAT()
funktionen ger oss P
formatspecifikation, som används för att visa ett procenttecken i det formaterade talet:
SELECT FORMAT(.27, 'P') Result;
Resultat:
+----------+ | Result | |----------| | 27.00% | +----------+
Se 4 sätt att konvertera ett tal till en procentandel i SQL Server för mer.
Oracle
Oracle Database har en TO_CHAR(number)
funktion som vi kan använda för att formatera ett tal med. Vi kan sedan använda CONCAT()
för att sammanfoga siffran och procenttecknet:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
Resultat:
18.00%
Se Formatera ett tal som en procentandel i Oracle för mer.
PostgreSQL
I PostgreSQL kan vi använda TO_CHAR()
funktion för att formatera ett tal i procent.
Här är olika exempel för att visa några av de saker vi kan göra med den här funktionen:
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 sätt att formatera ett tal som en procentandel i PostgreSQL för mer.
MariaDB
MariaDB har en CONCAT()
funktion för att göra jobbet:
SELECT CONCAT(7.45, '%');
Resultat:
7.45%
Se Lägg till ett procenttecken till ett nummer i MariaDB för mer.
SQLite
Med SQLite kan vi använda PRINTF()
funktion:
SELECT PRINTF('%2d%%', 17);
Resultat:
17%
Vi kan alternativt sammanfoga procenttecknet och siffran om det behövs. Se 2 sätt att lägga till ett procenttecken till ett tal i SQLite för ett exempel.
Uppdatera :SQLite 3.38.0 (släppt 22 februari 2022) döpte om PRINTF()
funktion till FORMAT()
. Den ursprungliga PRINTF()
namnet behålls som ett alias för bakåtkompatibilitet.
Så exemplet ovan kan ändras till detta:
SELECT FORMAT('%2d%%', 17);
Resultat:
17%