Ir para conteúdo

POWERED BY:

Arquivado

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

Ruiz

[Resolvido] Precisão da função to_number

Recommended Posts

Preciso conevrter um char para um numerico com 16 casas decimais.

Tentei o seguinte:

 

SQL> select to_number('521.323231251415121','9999.9999999999999999) from dual;

 

TO_NUMBER('521.323231251415121','9999.9000000000000000')

--------------------------------------------------------

521.323231

 

 

Mas ele retorna 6 casas decimais somente.

 

Tem outro jeito de formatar?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta, deu uma olhada na documentação mas o meu problema teva sendo formatar a coluna usando o dual.

Eu fiz um programinha só pra testar a função to_number, e funcionou:

 

set feedback on

set serveroutput on

 

declare

v_teste float(126);

 

begin

v_teste:= to_number('450.987654321987654321987654321987','9999.999999999999999999999999999999');

 

dbms_output.put_line ('===================' );

dbms_output.put_line ('o valor total é ' || v_teste );

dbms_output.put_line ('===================' );

end;

/

 

 

Como eu vou ler um campo do tipo varchar2 em tempo de processamento, vou fazer isso, criar uma variável temporária do tipo float, e antes de utilizar o dado, vou aplicar o to_number, assim já armazeno na variável float com a precisão que necessitava.

 

Valeu!

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.