In MariaDB, FORMAT()
is een ingebouwde tekenreeksfunctie die het gegeven getal opmaakt en teruggeeft als een tekenreeks.
Het vereist twee argumenten en accepteert een optioneel derde argument. De eerste is het getal dat u wilt opmaken, de tweede is de decimale positie en de (optionele) derde is de landinstelling.
Syntaxis
De syntaxis gaat als volgt:
FORMAT(num, decimal_position[, locale])
Waar num
is het getal, decimal_position
is het aantal decimalen waarop het getal moet worden afgerond, en locale
is een optionele landinstelling om te gebruiken voor het opmaken van het getal (verschillende landinstellingen gebruiken verschillende conventies voor het opmaken van getallen).
Voorbeeld
Hier is een eenvoudig voorbeeld:
SELECT FORMAT(1234.5678, 2);
Resultaat:
+----------------------+ | FORMAT(1234.5678, 2) | +----------------------+ | 1,234.57 | +----------------------+
Hier, FORMAT()
een komma toegevoegd voor een scheidingsteken voor duizendtallen. Het rondde het getal ook af op twee decimalen (omdat ik 2 als het tweede argument heb opgegeven).
Verwijder fractioneel deel
Gebruik 0
. om het breukdeel (en het bijbehorende decimaalteken) te verwijderen (nul) als het tweede argument:
SELECT FORMAT(1234.5678, 0);
Resultaat:
+----------------------+ | FORMAT(1234.5678, 0) | +----------------------+ | 1,235 | +----------------------+
Decimale plaatsen toevoegen
Als het tweede argument een hoger getal is dan het aantal decimalen in het eerste argument, worden nullen aan het resultaat toegevoegd, zodat het het gewenste aantal decimalen weerspiegelt:
SELECT
FORMAT(1234, 2),
FORMAT(1234.56, 4),
FORMAT(1234.56, 8);
Resultaat:
+-----------------+--------------------+--------------------+ | FORMAT(1234, 2) | FORMAT(1234.56, 4) | FORMAT(1234.56, 8) | +-----------------+--------------------+--------------------+ | 1,234.00 | 1,234.5600 | 1,234.56000000 | +-----------------+--------------------+--------------------+
Geef een landinstelling op
U kunt optioneel een derde argument doorgeven om de landinstelling te specificeren die voor de opmaak moet worden gebruikt.
Voorbeeld:
SELECT
FORMAT(1234567.8912, 2, 'da_DK') AS "da_DK",
FORMAT(1234567.8912, 2, 'rm_CH') AS "rm_CH",
FORMAT(1234567.8912, 2, 'es_BO') AS "es_BO",
FORMAT(1234567.8912, 2, 'ar_SA') AS "ar_SA";
Resultaat:
+--------------+--------------+------------+------------+ | da_DK | rm_CH | es_BO | ar_SA | +--------------+--------------+------------+------------+ | 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 | +--------------+--------------+------------+------------+
Niet-numerieke argumenten
FORMAT()
formatteert alleen getallen. Het verstrekken van een string resulteert bijvoorbeeld in 0
wordt teruggestuurd. Het is echter nog steeds opgemaakt met de opgegeven decimale plaats:
SELECT
FORMAT("Twenty five", 0),
FORMAT("Twenty five", 2),
FORMAT("Twenty five", 4);
Resultaat:
+--------------------------+--------------------------+--------------------------+ | FORMAT("Twenty five", 0) | FORMAT("Twenty five", 2) | FORMAT("Twenty five", 4) | +--------------------------+--------------------------+--------------------------+ | 0 | 0.00 | 0.0000 | +--------------------------+--------------------------+--------------------------+
Nullargumenten
null
opgeven aangezien een van de eerste twee argumenten resulteert in null
:
SELECT
FORMAT(null, 2),
FORMAT(25, null);
Resultaat:
+-----------------+------------------+ | FORMAT(null, 2) | FORMAT(25, null) | +-----------------+------------------+ | NULL | NULL | +-----------------+------------------+
Maar het doorgeven van null
aangezien het derde argument het resultaat niet beïnvloedt:
SELECT FORMAT(25, 2, null);
Resultaat:
+---------------------+ | FORMAT(25, 2, null) | +---------------------+ | 25.00 | +---------------------+
Slechts één argument geven
Het verstrekken van een enkel argument resulteert in een fout:
SELECT FORMAT(1234.56);
Resultaat:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Geen argumenten geven
FORMAT()
. aanroepen zonder het doorgeven van argumenten resulteert in een fout:
SELECT FORMAT();
Resultaat:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1