Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá companheiro,
Estou tentando formatar os valores diretamente na consulta, utilizando o REPLACE, fiz da seguinte forma:
Troca o "." por virgula.
REPLACE(ProventosLiquidos,'.', ',') as ProventosLiquidos,
REPLACE(BCFunafinPatronal,'.', ',') as BCFunafinPatronal,
REPLACE(BCINSSPatronal,'.', ',') as BCINSSPatronal,
Resultado:
22811,32
22811,40
2211,30
Como faço para colocar o ponto "." do milhar "2.211,30" ?
desde já obrigado a todos.
Olá, lokaodomau, obrigado pela resposta,
O FORMAT() não funcionou aqui, Utilizei isto:
CAST(ProventosLiquidos AS decimal(10,2)),
resultado: 3433,33
Ainda não consegui colocar o ponto do milhar, que nesse caso ficaria assim 3.433,33.
Alguma outra ideia ????
Para inserir a separação de milhar, tem que transformar o valor em texto, então se for utilizar este valor para algum calculo, aconselho fazer o calculo antes, mas você já deve saber disso.
Só consigo pensar no FORMAT():
SELECT
FORMAT(123456.789, 2) AS usando_format,
REPLACE(
REPLACE(
REPLACE(
FORMAT(123456.789, 2) # transforma o número em texto '123,456.79'
, '.', '@') # troca o ponto por @, pra nao perder '123,456@79'
, ',', '.') # troca a vírgura por ponto '123.456@79'
, '@', ',') AS replace_format # e por fim, troca o @ por vírgula '123.456,79'
Mas esta é uma baita de uma gambiarra, o PHP, por exemplo, existe a função number_format(), que faz o tratamento que você quer.
<?php
// string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
$number = 1234.56;
// Notação Inglesa (padrão)
$english_format_number = number_format($number);
// 1,234
// Notação Francesa
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// Notação do Brasil
$english_format_number = number_format($number, 2, ',', '.');
// 1.234,57
?>
Olá, lokaodomau, obrigado pela resposta novamente.
Consegui resolver minha bronka, através do FORMAT()
valewwwww. :D
Tente a função FORMAT(), depois é só substituir os pontos por vírgula e as vírgulas por ponto...
Mas acho que seria mais fácil tratar isso fora do banco.