MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment FORMAT() fonctionne dans MariaDB

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])

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