Gleyson, Obrigado pela resposta. Eu sei que não há diferença nesses valores, porém o usuário final (na verdade um sistema externo que consulta uma view no nosso banco de dados) queria ver os dados com as 3 casas decimais. Conseguimos fazer no isso no Oracle 10g mas não teve o mesmo efeito no 9i. O client que eu usei nos dois casos é o mesmo, apenas apontando para um outro banco diferente. Você sabe se alguma configuração no servidor pode afetar essa exibição? Ou se há mesmo alguma diferença de tratamento entre o 9i e o 10g?
De qualquer forma, já convenci o usuário de que o valor está certo, e se ele estiver esperando um número real, tanto faz o jeito como o Oracle retorna eles (com ou sem casas decimais). Só teria problema se tivessem casas decimais e ele usasse uma variável inteira ou se ele trata isso como string, o que acho não ser o caso. -- Thiago Delfim Oracle 9i Database Certified Professional Oracle 10g Database Certified Professional tdel...@gmail.com (MSN) Campinas/SP (19) 8204-2681 / 9111-1439 2009/4/4 Gleyson Melo <gleysonm...@gmail.com> > Fala Thiago, tudo em paz? > Vamos começar com duas perguntas: 120 é igual a 120,000? 120 é igual a 0x78 > (hexadecimal)? > > Matematicamente sim. Então porque "parecem" diferentes? A diferença é a > representação do número. > A representação do número é uma string. O que está diferente não é o > número, > é o formato, como a gente pode ver pelo exemplo: > > SQL> select cast(120 as number(10,3)) as numero from dual; > > NUMERO > ---------- > 120 > > SQL> col numero for 999D999 > SQL> select cast(120 as number(10,3)) as numero from dual; > > NUMERO > -------- > 120,000 > > SQL> > > Isso é configuração a nível de cliente. > > Espero ter ajudado. > > Um abraço. > > 2009/3/31 Thiago Delfim <tdel...@gmail.com <tdelfim%40gmail.com>> > > > Pessoal, > > Algúem já teve algum problema desse tipo: > > > > select cast(120 as number(10,3)) from dual; > > > > No Oracle 9i retorna: 120 > > No oracle 10g retorna: 120,000 > > > > É isso mesmo? Existem diferenças no CAST entre as duas versões do Oracle? > > > > Estou usando CAST para que uma VIEW retorne os números no formato > > NUMBER(10,3). Fiz com CAST no Oracle 10 e funcionou como eu queria, mas > no > > Oracle 9 não. Como eu posso ter o mesmo efeito no Oracle 9 já que o CAST > > tem > > comportamento diferente? > > > > -- > > Thiago Delfim > > Oracle & SQL Server Database Administrator > > Oracle 9i Database Certified Professional > > tdel...@gmail.com <tdelfim%40gmail.com> <tdelfim%40gmail.com> (MSN) > > Campinas/SP > > (19) 8204-2681 / 9111-1439 > > Sent from Campinas, São Paulo, Brazil > > Rodney Dangerfield - "I haven't spoken to my wife in years. I didn't want > > to interrupt her." > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > Atenciosamente, > Gleyson Melo > Oracle Database 10g Administrator Certified Professional > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]