MariaDB har FORMAT()
funktion, som formaterar ett tal baserat på den givna formatsträngen.
Den returnerar talet som en formaterad sträng, med tusentals och decimalavgränsare i lämplig position och avrundar resultatet till den angivna decimalpositionen.
Du kan valfritt ange ett lokalvärde för att formatera siffror till det mönster som är lämpligt för den givna regionen.
Exempel
Här är ett exempel att visa:
SELECT FORMAT(123456.789, 2);
Resultat:
123,456.79
I det här fallet angav jag 2
för det andra argumentet, och så avrundades talet till två decimaler.
Dessutom infogades ett kommatecken för tusentalsavgränsaren och en punkt/punkt användes för decimalavgränsaren.
Här är ett annat exempel som använder olika värden för det andra argumentet:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Resultat:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Ange ett språk
Här är några exempel på hur du anger lokalen:
SELECT
FORMAT(123456.789, 2, 'ta_IN') AS "Tamil, India",
FORMAT(123456.789, 2, 'de_DE') AS "German, Germany",
FORMAT(123456.789, 2, 'zh_HK') AS "Chinese, Hong Kong";
Resultat:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Se hur man visar alla språk i MariaDB för att få en lista över språk som kan specificeras med den här funktionen.
Formatera som valuta
FORMAT()
Funktionen ger inte möjlighet att formatera numret som valuta. Du kan dock använda CONCAT()
funktion för att sammanfoga resultaten med valfri valutasymbol:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Resultat:
$8,790.24
Detta kräver uppenbarligen att du anger rätt valutasymbol för det språk som används.