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>

>   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> (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]

Responder a