MariaDB tem o
FORMAT()
função, que formata um número com base na string de formato fornecida. Ele retorna o número como uma string formatada, com milhares e separadores decimais na posição apropriada e arredonda o resultado para a posição decimal especificada.
Opcionalmente, você pode especificar um valor de localidade para formatar números para o padrão apropriado para a região especificada.
Exemplo
Segue um exemplo para demonstrar:
SELECT FORMAT(123456.789, 2);
Resultado:
123,456.79
Neste caso eu especifiquei
2
para o segundo argumento e, portanto, o número foi arredondado para duas casas decimais. Além disso, uma vírgula foi inserida para o separador de milhares e um ponto/ponto final foi usado para o separador decimal.
Aqui está outro exemplo que usa valores diferentes para o segundo argumento:
SELECT
FORMAT(123456.789, 0) AS "1",
FORMAT(123456.789, 4) AS "2",
FORMAT(123456.789, 6) AS "3";
Resultado:
+---------+--------------+----------------+ | 1 | 2 | 3 | +---------+--------------+----------------+ | 123,457 | 123,456.7890 | 123,456.789000 | +---------+--------------+----------------+
Especifique uma localidade
Aqui estão alguns exemplos de especificação da localidade:
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";
Resultado:
+--------------+-----------------+--------------------+ | Tamil, India | German, Germany | Chinese, Hong Kong | +--------------+-----------------+--------------------+ | 1,23,456.79 | 123.456,79 | 123,456.79 | +--------------+-----------------+--------------------+
Veja Como Mostrar todos os Locales no MariaDB para obter uma lista de locales que podem ser especificados com esta função.
Formatação como moeda
O
FORMAT()
A função não fornece os meios para formatar o número como moeda. No entanto, você pode usar o CONCAT()
função para concatenar os resultados com o símbolo de moeda de sua escolha:SELECT CONCAT('$', FORMAT(8790.2398, 2));
Resultado:
$8,790.24
Obviamente, isso requer que você especifique o símbolo de moeda correto para a localidade que está sendo usada.