MariaDB má FORMAT()
funkce, která formátuje číslo na základě daného formátovacího řetězce.
Vrátí číslo jako formátovaný řetězec s oddělovači tisíců a desetinných míst na příslušné pozici a zaokrouhlí výsledek na zadanou desetinnou pozici.
Volitelně můžete zadat hodnotu národního prostředí pro formátování čísel podle vzoru vhodného pro danou oblast.
Příklad
Zde je příklad k demonstraci:
SELECT FORMAT(123456.789, 2);
Výsledek:
123,456.79
V tomto případě jsem zadal 2
pro druhý argument, a tak bylo číslo zaokrouhleno na dvě desetinná místa.
Pro oddělovač tisíců byla vložena čárka a pro oddělovač desetinných míst byla použita tečka/tečka.
Zde je další příklad, který používá jiné hodnoty pro druhý argument:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Výsledek:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Určete národní prostředí
Zde je několik příkladů určení národního prostředí:
SELECT
FORMAT(123456.789, 2, 'ta_IN') AS "Tamil, India",
FORMAT(123456.789, 2, 'de_DE') AS "German, Germany",
FORMAT(123456.789, 2, 'zh_HK') AS "Chinese, Hong Kong";
Výsledek:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Viz Jak zobrazit všechna národní prostředí v MariaDB a získat seznam lokalit, které lze pomocí této funkce zadat.
Formátování jako měny
FORMAT()
funkce neposkytuje prostředky pro formátování čísla jako měny. Můžete však použít CONCAT()
funkce pro spojení výsledků se symbolem měny podle vašeho výběru:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Výsledek:
$8,790.24
To samozřejmě vyžaduje, abyste uvedli správný symbol měny pro používané národní prostředí.