sql >> Database >  >> RDS >> MariaDB

Hoe FORMAT() werkt in MariaDB

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

  1. Android Kamer + Venster Functies

  2. Hoe de LIKE-operator werkt in SQLite

  3. Evolutie van fouttolerantie in PostgreSQL:replicatiefase

  4. SQL Server 2016:een opgeslagen procedure maken