Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiago da Silva

Formatar dado no select

Recommended Posts

Na minha tabela tem um campo float(valor) que possui n valores(1.5,10,2.56,6.41200002).

 

Como formatar este campo para que exiba apenas duas casas decimais sem que faça arredondamento. Por exemplo se o valor for 5 fica 5,00, se for 6,1 fica 6,10, se for 5,9895555 fica 5,98

 

select fromataDecimal2Casas(valor) as valor from valores ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Tiago!

 

Neste caso, onde você não quer arrendondar, voce pode fazer assim:

 

select rpad (

(valor - mod(valor, 1)

||','||

decode ( mod(valor, 1), 0, '00', substr(to_char(mod(valor, 1)), 2, 2 ) )

), 4, '0' )

from numbers

 

1) voce obtem o valor principal: (valor - mod(valor, 1)

2) Concatena ele com as decimais, se for 0 voce completa com 00, senão você pega as posições decimais

3) O Rpad completa com 0 no final, para o caso do 6.1

 

Qualquer dúvida comentar...

Abraço!

 

Tiago Seibel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.