Casas Decimais Diferente do que está na tabela e no Debug

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Pessoal, boa tarde, tudo bem ?

Me deparei com algo inusitado e queria saber se vocês já passaram por algo parecido. Na tabela, um campo em questão, está com o seguinte valor 0,153881608325416, porém quando executa o processo para exportar esses dados para Excel, o valor do campo é diferente, ele omite o "0" inicial e as casa decimais aumentam !!!

Inicialmente achei que o problema fosse a formatação da célula do Excel, porém debugando o processo, no hint do PLSQL Developer, o "Add Variable to Watches" e até no "dbms_output.put_line", o valor fica ,153881608325415610437885524823466109551

Não sei se é alguma configuração do "PLSQL Developer 11", se é alguma configuração de banco, que acaba arredondando o valor na exibição, realmente não sei... Alguém já passou por isso ou tem alguma dica do que eu possa verificar ???

Print da imagem "da tabela"

Imagem

Print da imagem "na Test Window"

Imagem

[ ]s
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Mais uma informação para quem gosta dessas situações "inusitadas", consegui simular no próprio select, o que está acontecendo no debug e no processo que gera o Excel, porém reforço que, no debug, até o momento que printei o campo com valor diferente, não tem nenhuma conversão explicita.

A primeira coluna são os valores da forma que achamos que está inserida, a segunda coluna é usando o to_number e a terceira coluna é usando to_char, ambas sem mascara, só to_number(coluna) e to_char(coluna).

Imagem

Tentei forçar o to_number() no select e alterei o datatype do type do record para só number, em vez de pegar o type da forma tabela.campo%type, e mesmo assim, no debug, ainda persiste o valor diferente.
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Bom pessoal, segue a resposta para quem passar por algo futuramente.

No SQL Plus, o campo também vem com mais casas decimais, então é algo no PLSQL Developer que "arredonda" o campo... Pois bem, segue a configuração que faz isso:

Imagem
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Estranho as imagens não estão aparecendo pra mim. Só a última.
Sabe que você pode colocar anexos dentro dos tópicos e eles ficam armazenados neste servidor.
(Não depende de serviços externos)
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Show dr_gori... Realmente me acostumei a usar serviços externos para isso, mas as vezes eles acabam excluindo as img's
Responder
  • Informação