MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как FORMAT() работи в MariaDB

В MariaDB, FORMAT() е вградена функция за низ, която форматира и връща даденото число като низ.

Той изисква два аргумента и приема незадължителен трети аргумент. Първият е числото, което искате да форматирате, вторият е десетичната позиция, а третият (по избор) е локалът.

Синтаксис

Синтаксисът е така:

FORMAT(num, decimal_position[, locale])

Където num е числото, decimal_position е броят на десетичните знаци, до които да се закръгли числото и locale е незадължителен локал, който да се използва за форматиране на числото (различните локали използват различни конвенции за форматиране на числа).

Пример

Ето един основен пример:

SELECT FORMAT(1234.5678, 2);

Резултат:

+----------------------+
| FORMAT(1234.5678, 2) |
+----------------------+
| 1,234.57             |
+----------------------+

Тук FORMAT() добави запетая за разделител на хиляди. Освен това закръгли числото до два знака след десетичната запетая (защото посочих 2 като втори аргумент).

Премахване на дробна част

За да премахнете дробната част (и свързаната с нея десетична запетая), използвайте 0 (нула) като втори аргумент:

SELECT FORMAT(1234.5678, 0);

Резултат:

+----------------------+
| FORMAT(1234.5678, 0) |
+----------------------+
| 1,235                |
+----------------------+

Добавяне на десетични знаци

Ако вторият аргумент е по-голямо число от броя на десетичните знаци в първия аргумент, към резултата се добавят нули, така че да отразява желания брой десетични знаци:

SELECT 
    FORMAT(1234, 2),
    FORMAT(1234.56, 4),
    FORMAT(1234.56, 8);

Резултат:

+-----------------+--------------------+--------------------+
| FORMAT(1234, 2) | FORMAT(1234.56, 4) | FORMAT(1234.56, 8) |
+-----------------+--------------------+--------------------+
| 1,234.00        | 1,234.5600         | 1,234.56000000     |
+-----------------+--------------------+--------------------+

Посочете локал

Можете по избор да подадете трети аргумент, за да посочите локала, който да използвате за форматирането.

Пример:

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";

Резултат:

+--------------+--------------+------------+------------+
| da_DK        | rm_CH        | es_BO      | ar_SA      |
+--------------+--------------+------------+------------+
| 1.234.567,89 | 1'234'567,89 | 1234567,89 | 1234567.89 |
+--------------+--------------+------------+------------+

Нечислови аргументи

FORMAT() форматира само числа. Предоставянето на низ, например, води до 0 се връща. Въпреки това, той все още е форматиран до посочения десетичен знак:

SELECT 
    FORMAT("Twenty five", 0),
    FORMAT("Twenty five", 2),
    FORMAT("Twenty five", 4);

Резултат:

+--------------------------+--------------------------+--------------------------+
| FORMAT("Twenty five", 0) | FORMAT("Twenty five", 2) | FORMAT("Twenty five", 4) |
+--------------------------+--------------------------+--------------------------+
| 0                        | 0.00                     | 0.0000                   |
+--------------------------+--------------------------+--------------------------+

Нулеви аргументи

Предоставяне на null тъй като всеки от първите два аргумента води до null :

SELECT 
    FORMAT(null, 2),
    FORMAT(25, null);

Резултат:

+-----------------+------------------+
| FORMAT(null, 2) | FORMAT(25, null) |
+-----------------+------------------+
| NULL            | NULL             |
+-----------------+------------------+

Но подаване на null тъй като третият аргумент не влияе на резултата:

SELECT FORMAT(25, 2, null);

Резултат:

+---------------------+
| FORMAT(25, 2, null) |
+---------------------+
| 25.00               |
+---------------------+

Предоставяне само на един аргумент

Предоставянето на един аргумент води до грешка:

SELECT FORMAT(1234.56);

Резултат:

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

Без аргументи

Извикване на FORMAT() без подаване на аргументи води до грешка:

SELECT FORMAT();

Резултат:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_MERGE_PATCH() Обяснено

  2. Задайте набора от символи и сортиране на таблица в MariaDB

  3. 4 начина за проверка на типа данни на колона в MariaDB

  4. MariaDB LOCALTIME() Обяснено

  5. Как EXTRACTVALUE() работи в MariaDB