Istnieje kilka sposobów formatowania liczby jako wartości procentowej w SQL, w zależności od używanego DBMS.
Oto przykłady dodawania znaku procentu do liczby w niektórych z najpopularniejszych DBMS.
MySQL
W MySQL możemy użyć ton CONCAT()
funkcja łączenia liczby i znaku procenta:
SELECT CONCAT(3.75, '%');
Wynik:
3.75%
Zobacz Formatowanie liczby jako wartości procentowej w MySQL, aby uzyskać więcej informacji.
Serwer SQL
FORMAT()
SQL Servera funkcja zapewnia nam P
specyfikator formatu, który służy do wyświetlania znaku procentu w sformatowanej liczbie:
SELECT FORMAT(.27, 'P') Result;
Wynik:
+----------+ | Result | |----------| | 27.00% | +----------+
Zobacz 4 sposoby konwersji liczby na wartość procentową w SQL Server, aby uzyskać więcej informacji.
Wyrocznia
Baza danych Oracle ma TO_CHAR(number)
funkcja, za pomocą której możemy sformatować liczbę. Możemy wtedy użyć CONCAT()
aby połączyć liczbę i znak procentu:
SELECT CONCAT(TO_CHAR(18, 'fm00D00'), '%')
FROM DUAL;
Wynik:
18.00%
Zobacz Formatowanie liczby jako wartości procentowej w Oracle, aby uzyskać więcej informacji.
PostgreSQL
W PostgreSQL możemy użyć TO_CHAR()
funkcja, aby sformatować liczbę jako procent.
Oto różne przykłady demonstrujące niektóre z rzeczy, które możemy zrobić za pomocą tej funkcji:
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";
Wynik:
+-----+----+-------+-------+ | 1 | 2 | 3 | 4 | +-----+----+-------+-------+ | 07% | 7% | 7.46% | 7.00% | +-----+----+-------+-------+
Zobacz 3 sposoby formatowania liczby jako wartości procentowej w PostgreSQL, aby uzyskać więcej informacji.
MariaDB
MariaDB ma CONCAT()
funkcja do wykonania zadania:
SELECT CONCAT(7.45, '%');
Wynik:
7.45%
Zobacz Dodawanie znaku procentowego do numeru w MariaDB, aby uzyskać więcej informacji.
SQLite
W SQLite możemy użyć PRINTF()
funkcja:
SELECT PRINTF('%2d%%', 17);
Wynik:
17%
W razie potrzeby możemy alternatywnie połączyć znak procentu i liczbę. Zobacz 2 sposoby dodawania znaku procentu do liczby w SQLite jako przykład.
Aktualizacja :SQLite 3.38.0 (wydany 22 lutego 2022) zmienił nazwę PRINTF()
funkcja FORMAT()
. Oryginalny PRINTF()
nazwa jest zachowywana jako alias dla wstecznej kompatybilności.
Więc powyższy przykład można zmienić na następujący:
SELECT FORMAT('%2d%%', 17);
Wynik:
17%