MariaDB har FORMAT()
funktion, som formaterer et tal baseret på den givne formatstreng.
Det returnerer tallet som en formateret streng med tusinder og decimaler i den passende position og runder resultatet af til den angivne decimalposition.
Du kan eventuelt angive en lokalitetsværdi for at formatere tal til det mønster, der passer til det givne område.
Eksempel
Her er et eksempel til demonstration:
SELECT FORMAT(123456.789, 2);
Resultat:
123,456.79
I dette tilfælde specificerede jeg 2
for det andet argument, og så blev tallet afrundet til to decimaler.
Der blev også indsat et komma for tusindtalsseparatoren, og et punktum/punktum blev brugt til decimalseparatoren.
Her er et andet eksempel, der bruger forskellige værdier til det andet argument:
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 | +---------+--------------+----------------+
Angiv en lokalitet
Her er nogle eksempler på angivelse af lokalitet:
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, hvordan du viser alle lokaliteter i MariaDB for at få en liste over lokaliteter, der kan specificeres med denne funktion.
Formatere som valuta
FORMAT()
Funktionen giver ikke mulighed for at formatere tallet som valuta. Du kan dog bruge CONCAT()
funktion til at sammenkæde resultaterne med valutasymbolet efter eget valg:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Resultat:
$8,790.24
Dette kræver naturligvis, at du angiver det korrekte valutasymbol for den lokalitet, der bruges.