MariaDB има FORMAT()
функция, която форматира число въз основа на дадения форматен низ.
Той връща числото като форматиран низ, с хиляди и десетични разделители в подходящата позиция и закръгля резултата до посочената десетична позиция.
Можете по избор да зададете стойност за локал, за да форматирате числата според шаблона, подходящ за дадения регион.
Пример
Ето пример за демонстрация:
SELECT FORMAT(123456.789, 2);
Резултат:
123,456.79
В този случай посочих 2
за втория аргумент и така числото беше закръглено до два знака след десетичната запетая.
Освен това беше поставена запетая за разделителя на хилядите, а точка/точка беше използвана за десетичния разделител.
Ето още един пример, който използва различни стойности за втория аргумент:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Резултат:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Посочете локал
Ето няколко примера за определяне на локала:
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";
Резултат:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Вижте как да покажете всички локали в MariaDB, за да получите списък с локали, които могат да бъдат посочени с тази функция.
Форматиране като валута
FORMAT()
функцията не предоставя средства за форматиране на числото като валута. Можете обаче да използвате CONCAT()
функция за свързване на резултатите със символа за валута по ваш избор:
SELECT CONCAT('$', FORMAT(8790.2398, 2));
Резултат:
$8,790.24
Това очевидно изисква да посочите правилния символ на валута за използвания локал.