[OFF] Sql server - Formatar valores na saída

6,338 views
Skip to first unread message

Bruno Gross

unread,
Jan 8, 2009, 9:06:02 AM1/8/09
to list...@googlegroups.com, dotn...@googlegroups.com
Buenas povo

preciso formatar a saída de dados no sql relacionada a separadores de milhar

por exemplo se uma query retorna

valor
10000.56432

preciso formatar a saída com

10.000,56

sem arredondar nem nada, apenas preciso formatar pra duas casas decimais e por separador de milhar

sql server 2000

alguém sabe como me ajudar?

as vírgulas eu consegui com

select Valor = convert(numeric(18,2),Valor) from tabela

agora como por separador de milhar?

--
Visite: www.UpaLele.com

att.
Bruno Gross
Analista de Sistemas
Celular: (21) 78545483
Rádio ID: 83*39379

Esta mensagem, incluindo seus anexos, pode conter informações confidenciais e/ou privilegiadas. Se você não for a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Caso esta mensagem tenha sido recebida por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida elimine-a do seu sistema. Agradeço sua cooperação.

Rafael Kassner

unread,
Jan 9, 2009, 9:15:01 AM1/9/09
to list...@googlegroups.com
Tentou usar o tipo money?
 
SELECT CAST(CONVERT(varchar, CAST(123456 AS money), 1) AS varchar)
 
Isso vai trazer os dados separados de acordo com o seu locale (que é o do servidor ou o que você definir).

Alexandre Gaigalas

unread,
Jan 8, 2009, 9:17:39 AM1/8/09
to list...@googlegroups.com
Se o campo for do tipo MONEY, você tem 3 estilos de conversão:

CONVERT(VARCHAR,Valor,0)  << duas casas, sem separador de milhar
CONVERT(VARCHAR,Valor,1)  << duas casas, com separador de milhar
CONVERT(VARCHAR,Valor,2)  << quatro casas, sem separador de milhar

Onde tem 0, pode ser 1 ou 2.. não lembro o que cada um faz, mas eles mudam as casas e tal. Se o campo não for MONEY, ferrou.. =)

--
Alexandre Gomes Gaigalas
alex...@gaigalas.net
http://Alexandre.Gaigalas.Net

2009/1/8 Bruno Gross <bruno...@gmail.com>
Reply all
Reply to author
Forward
0 new messages