Dans MariaDB, FORMAT()
est une fonction de chaîne intégrée qui formate et renvoie le nombre donné sous forme de chaîne.
Il nécessite deux arguments et accepte un troisième argument facultatif. Le premier est le nombre que vous souhaitez formater, le second est la position décimale et le troisième (facultatif) est la locale.
Syntaxe
La syntaxe ressemble à ceci :
FORMAT(num, decimal_position[, locale])
Où num
est le nombre, decimal_position
est le nombre de décimales auxquelles arrondir le nombre, et locale
est un paramètre régional facultatif à utiliser pour formater le nombre (différents paramètres régionaux utilisent différentes conventions pour formater les nombres).
Exemple
Voici un exemple de base :
SELECT FORMAT(1234.5678, 2);
Résultat :
+----------------------+ | FORMAT(1234.5678, 2) | +----------------------+ | 1,234.57 | +----------------------+
Ici, FORMAT()
ajouté une virgule pour un séparateur de milliers. Il a également arrondi le nombre à deux décimales (parce que j'ai spécifié 2 comme deuxième argument).
Supprimer la partie fractionnaire
Pour supprimer la partie décimale (et son point décimal associé), utilisez 0
(zéro) comme deuxième argument :
SELECT FORMAT(1234.5678, 0);
Résultat :
+----------------------+ | FORMAT(1234.5678, 0) | +----------------------+ | 1,235 | +----------------------+
Ajouter des décimales
Si le deuxième argument est un nombre supérieur au nombre de décimales du premier argument, des zéros sont ajoutés au résultat, de sorte qu'il reflète le nombre de décimales souhaité :
SELECT
FORMAT(1234, 2),
FORMAT(1234.56, 4),
FORMAT(1234.56, 8);
Résultat :
+-----------------+--------------------+--------------------+ | FORMAT(1234, 2) | FORMAT(1234.56, 4) | FORMAT(1234.56, 8) | +-----------------+--------------------+--------------------+ | 1,234.00 | 1,234.5600 | 1,234.56000000 | +-----------------+--------------------+--------------------+
Spécifiez un paramètre régional
Vous pouvez éventuellement passer un troisième argument pour spécifier les paramètres régionaux à utiliser pour le formatage.
Exemple :
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";
Résultat :
+--------------+--------------+------------+------------+ | da_DK | rm_CH | es_BO | ar_SA | +--------------+--------------+------------+------------+ | 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 | +--------------+--------------+------------+------------+
Arguments non numériques
FORMAT()
ne formate que les nombres. Fournir une chaîne, par exemple, donne 0
étant retourné. Cependant, il est toujours formaté à la décimale spécifiée :
SELECT
FORMAT("Twenty five", 0),
FORMAT("Twenty five", 2),
FORMAT("Twenty five", 4);
Résultat :
+--------------------------+--------------------------+--------------------------+ | FORMAT("Twenty five", 0) | FORMAT("Twenty five", 2) | FORMAT("Twenty five", 4) | +--------------------------+--------------------------+--------------------------+ | 0 | 0.00 | 0.0000 | +--------------------------+--------------------------+--------------------------+
Arguments nuls
Fournir null
car l'un des deux premiers arguments donne null
:
SELECT
FORMAT(null, 2),
FORMAT(25, null);
Résultat :
+-----------------+------------------+ | FORMAT(null, 2) | FORMAT(25, null) | +-----------------+------------------+ | NULL | NULL | +-----------------+------------------+
Mais en passant null
car le troisième argument n'affecte pas le résultat :
SELECT FORMAT(25, 2, null);
Résultat :
+---------------------+ | FORMAT(25, 2, null) | +---------------------+ | 25.00 | +---------------------+
Fournir un seul argument
La fourniture d'un seul argument génère une erreur :
SELECT FORMAT(1234.56);
Résultat :
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
Ne fournir aucun argument
Appel de FORMAT()
sans passer d'arguments entraîne une erreur :
SELECT FORMAT();
Résultat :
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