sql >> Databasteknik >  >> RDS >> MariaDB

Hur man formaterar siffror i MariaDB

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.


  1. Hur man utför grupperad rankning i MySQL

  2. Mysql Förbättra sökprestanda med jokertecken (%%)

  3. Fortsätter Infogar i Oracle när undantag höjs

  4. Vad är skillnaden mellan varchar och nvarchar?