 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
fdsilva.desenv Novato

Registrado: Quarta-Feira, 28 de Novembro de 2012 Mensagens: 68
|
Enviada: Qui Out 19, 2017 1:20 pm Assunto: Formatação de Números inteiros e reais. |
|
|
Prezados, boa tarde.
Preciso formatar meus valores inteiros e reais dentro do banco de dados. Alguem tem alguma ideia como fazer isso no SQL Server 2008?
Ex: numero 2000 = 2.000
Ex2: numero 2500.05 = 20.500,05
essas informações, posteriormente vou armazená-las em um campo tipo varchar.
obrigado |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Out 19, 2017 3:39 pm Assunto: |
|
|
Boa tarde,
Posso estar enganado mas acredito que o SQL Server na versão 2008 não tem funções específicas para formatação de valores.
A partir da versão 2012 foi introduzida a função Format.
Na versão 2008 experimente utilizar a sequencia de funções dos exemplos abaixo:
| Código: | select
replace(replace(replace(convert(varchar, cast(CampoComDecimal as money), 1), '.', '|'), ',', '.'), '|', ','),
replace(parsename(convert(varchar, cast(CampoInteiro as money)), 2), ',', '.')
|
obs: o Cast para Money não é necessário se o campo for do tipo money ou smallmoney
Espero que ajude
_________________
Assinatura: https://www.imoveisemexposicao.com.br/imoveis-venda-guarulhos!macedo-residencial-casa |
|
| Voltar ao Topo |
|
 |
fdsilva.desenv Novato

Registrado: Quarta-Feira, 28 de Novembro de 2012 Mensagens: 68
|
Enviada: Qui Out 19, 2017 3:58 pm Assunto: |
|
|
Amigo, boa tarde.
Antes de mais nada, obrigado pelo apoio.
Utilizei suas fórmulas e o resultado foi o seguinte:
Fórmula:
| Código: | select @texto = 'Existem '+ replace(parsename(convert(varchar, cast(@prodtotal as money)), 2), ',', '.') +
' produtos que ENTRARAM('+replace(parsename(convert(varchar, cast(@entradas as money)), 2), ',', '.')+
') mais do que SAÍRAM('+replace(parsename(convert(varchar, cast(@saidas as money)), 2), ',', '.')+
'). Valor comprado desnecessário – R$'+replace(replace(replace(convert(varchar, cast(@vendas as money), 1), '.', '|'), ',', '.'), '|', ',') |
Resultado:
"Existem 1547 produtos que ENTRARAM(48645) mais do que SAÍRAM(20373). Valor comprado desnecessário – R$220.336.738,48"
Ou seja, a formula para numeros decimais deu certo, mas a de numeros inteiros ainda não. |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Out 19, 2017 5:04 pm Assunto: |
|
|
Acho que faltou um parâmetro para a função Convert:
| Código: | | replace(parsename(convert(varchar, cast(CampoInteiro as money), 1), 2), ',', '.') |
Espero que ajude |
|
| Voltar ao Topo |
|
 |
fdsilva.desenv Novato

Registrado: Quarta-Feira, 28 de Novembro de 2012 Mensagens: 68
|
Enviada: Sex Out 20, 2017 7:27 am Assunto: |
|
|
Certinho meu amigo.
Deu certo.
Obrigado. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|