В MySQL, FORMAT()
функцията връща число, форматирано до определен брой десетични знаци.
Той включва разделители на групи и десетичен разделител, където е приложимо.
Синтаксис
Синтаксисът е така:
FORMAT(X,D[,locale])
Къде:
X
е числото за форматиране.D
е броят на десетичните знаци, до които искате да закръглите числото.locale
е незадължителен аргумент, който определя конвенциите за форматиране на локала да се използват.
Пример
Ето пример за демонстрация:
SELECT FORMAT(123456.789, 2);
Резултат:
123,456.79
Тук числото беше закръглено до два знака след десетичната запетая (защото посочих 2
като втори аргумент). В този случай десетичната част беше закръглена нагоре.
Числото също получи запетая като разделител на групата и точка/точка като десетичен разделител.
Премахнете дробната част
Можете да използвате 0
като втори аргумент за премахване на всяка дробна част:
SELECT FORMAT(123456.789, 0);
Резултат:
123,457
Добавяне на десетични знаци
Можете да добавите десетични знаци, като използвате втори аргумент, който е по-голямо от броя на десетичните знаци в числото, което трябва да бъде форматирано:
SELECT FORMAT(123456.789, 6);
Резултат:
123,456.789000
Това може да се използва за добавяне на дробна част към цели числа:
SELECT FORMAT(123456, 2);
Резултат:
123,456.00
Отрицателни числа
Функцията работи също толкова добре при отрицателни числа:
SELECT FORMAT(-123456.789, 2);
Резултат:
-123,456.79
Locale
Ето пример, за да демонстрирате как работи третият аргумент:
SELECT FORMAT(123456.789, 2, 'de_DE');
Резултат:
123,456.79
В този пример посочих, че локалът е de_DE
, което е за немски. Следователно конвенциите за форматиране диктуват, че запетаята се използва за десетичния разделител, а точката/точката се използва за разделителя на хилядите.
Третият аргумент може да бъде всяка от стойностите, които се поддържат от lc_time_names
системна променлива.