Re: [oracle_br] CAST no Oracle 9i e 10g

2009-04-04 Por tôpico Thiago Delfim
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 

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



Re: [oracle_br] CAST no Oracle 9i e 10g

2009-04-04 Por tôpico Gleyson Melo
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 

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



[oracle_br] CAST no Oracle 9i e 10g

2009-03-31 Por tôpico Thiago Delfim
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 (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]