Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como formatar números como moeda no MySQL


Alguns DBMSs nos fornecem a capacidade de formatar um número como moeda, fornecendo um especificador de formato para o símbolo da moeda. Fornecer tal especificador de formato permite que o DBMS retorne o símbolo de moeda apropriado para a localidade.

O MySQL não tem um especificador de formato de moeda e, portanto, precisamos fazer um pouco de trabalho extra se quisermos que o símbolo de moeda seja retornado.

Exemplo


Aqui está um exemplo de retorno de um número como moeda no MySQL:
SELECT CONCAT('$', FORMAT(1234.5678, 2));

Resultado:
$1,234.57

Aqui, usamos o CONCAT() função para concatenar o símbolo da moeda e o número. Também usamos o FORMAT() função para formatar o número no formato desejado.

Especifique uma localidade


O FORMAT() A função aceita um terceiro argumento opcional para a localidade. Isso permite formatar o número usando a localidade especificada.

Exemplo:
SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

Resultado:
€1.234,57

Neste caso, nosso símbolo de moeda é o símbolo do Euro ( ) em vez do cifrão, e especificamos que o número deve ser formatado usando as convenções de numeração alemãs, que usam um ponto para o separador de grupo e uma vírgula para o ponto decimal.

Formatação no aplicativo vs banco de dados


Geralmente, é recomendado que a formatação de moeda, etc., seja feita no nível do aplicativo, e não no nível do banco de dados. Os ambientes de programação de aplicativos geralmente têm melhores recursos de formatação do que os DBMSs, e geralmente é melhor ter dados não formatados retornados pelo banco de dados, para que o aplicativo possa começar com uma ardósia limpa e formatá-los conforme necessário.

Dito isso, às vezes a situação exige formatação no nível do banco de dados e, nesse caso, as técnicas acima podem ser úteis.