Formatar coluna no select

14/04/2011

  Alguém sabe formatar a coluna do select abaixo para que o valor sai com virgula na casa decimal ao invés de ponto (está retornando assim 150.35)?????????????????   SELECT Realizacao,            e.[Codigo Espec],            e.[Codigo Prestador],           vl_vista = SUM ( case when [Codigo Tipo Venda] = 0 then (p.Valor) else 0 end),            vl_prazo = SUM ( case when [Codigo Tipo Venda] = 1 then (p.Valor) else 0.00 end) from....

Respostas

19/04/2011

Bretas


  Ricardo, para o banco de dados o formato é 0.00 mesmo, tanto que quando vc faz um insert ou update se colocar vírgula da erro.
Mas com você quer somente apresentar os dados já formatado acho que isso pode te ajudar.
SELECT Realizacao,           e.[Codigo Espec],           e.[Codigo Prestador],          REPLACE(CONVERT(VARCHAR, SUM ( case when [Codigo Tipo Venda] = 0 then (p.Valor) else 0 end)), '.', ',') AS vl_vista,           REPLACE(CONVERT(VARCHAR, SUM ( case when [Codigo Tipo Venda] = 1 then (p.Valor) else 0.00 end)), '.', ',') AS vl_prazoFROM ....

Observe que se o valor da soma for menor que 1, vai mostrar ',01' por exemplo, como estou sem o Query Analyser agora, fica difícil melhorar.
O ideal é vc criar ou procurar alguma função pronta na internet que formata Texto, toda linguagem de programação tem, assim vc só passa como parâmetro a mascara e o valor, entende?
Responder Citar