No MySQL, o
FORMAT()
A função retorna um número formatado para um número especificado de casas decimais. Inclui separadores de grupo e um separador decimal quando aplicável.
Sintaxe
A sintaxe fica assim:
FORMAT(X,D[,locale])
Onde:
X
é o número a ser formatado.D
é o número de casas decimais para as quais você deseja arredondar o número.locale
é um argumento opcional que especifica quais convenções de formatação de localidade devem ser usadas.
Exemplo
Segue um exemplo para demonstrar:
SELECT FORMAT(123456.789, 2);
Resultado:
123,456.79
Aqui, o número foi arredondado para duas casas decimais (porque eu especifiquei
2
como segundo argumento). Neste caso, a parte decimal foi arredondada. O número também recebeu uma vírgula como separador de grupo e um ponto/ponto final como separador decimal .
Remover a parte fracionária
Você pode usar
0
como o segundo argumento para remover qualquer parte fracionária:SELECT FORMAT(123456.789, 0);
Resultado:
123,457
Adicionar casas decimais
Você pode adicionar casas decimais usando um segundo argumento que seja um número maior que o número de casas decimais no número a ser formatado:
SELECT FORMAT(123456.789, 6);
Resultado:
123,456.789000
Isso pode ser usado para adicionar uma parte fracionária a números inteiros:
SELECT FORMAT(123456, 2);
Resultado:
123,456.00
Números negativos
A função funciona tão bem em números negativos:
SELECT FORMAT(-123456.789, 2);
Resultado:
-123,456.79
Localidade
Aqui está um exemplo para demonstrar como o terceiro argumento funciona:
SELECT FORMAT(123456.789, 2, 'de_DE');
Resultado:
123,456.79
Neste exemplo, especifiquei que a localidade é
de_DE
, que é para o alemão. As convenções de formatação, portanto, determinam que a vírgula seja usada para o separador decimal , e o ponto/ponto final seja usado para o separador de milhares. O terceiro argumento pode ser qualquer um dos valores suportados pelo
lc_time_names
variável do sistema.