Não seria mais simples escrever o SQL assim:
 
SELECT P.*
FROM EST_PRODUTOS P
WHERE UPPER(P.EST_ST_ALTERNATIVO) = UPPER(‘111.222.333/N’);
 
At.
 
Marcelo Alberto Lauschner 
Depto. De Informática
Auto Pratense Ltda
* - Fax: (0XX54) 3242-3615
* - E-mail:  <mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
 
  _____  

De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Josinei Barbosa da Silva
Enviada em: quarta-feira, 30 de agosto de 2006 16:27
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Re: Problemas no uso da função UPPER()
 
Desculpe, foi erro de digitação sim...

Pra deixar o código mais limpo, só anexei aqui uma subconsulta da
minha instrução achando que ela era o problema. Falha minha. Na
verdade o problema estava no todo (acabamos de descobrir)

Veja, se executar a instrução abaixo, não funciona (tb não dá erro):

SELECT * 
FROM(SELECT * 
     est_produtos
    ) p
WHERE upper(p.pro_st_alternativo) = upper('111.222.333/N');


Agora, se faço como abaixo, funciona:

SELECT * 
FROM(SELECT pro_st_alternativo
     FROM est_produtos
    ) p
WHERE upper(p.pro_st_alternativo) = upper('111.222.333/N'); 

Ou seja, se usar o asterisco na subconsulta e uma de suas colunas na
cláusula WHERE da instrução principal, ocorre o problema.

Resta saber porque! Alguém saberia dizer se tem uma explicação
aceitável ou se é um bug do Oracle?

Obrigado pela atenção.

--- Em oracle_br@yahoogrupos.com.br, "Andre Santos"
<[EMAIL PROTECTED]> escreveu
>
> Josinei
> 
> Não sei se foi erro de digitação, mas numa consulta a tabela está como
> "PRODUTOS" e na outra consta "EST_PRODUTOS".
> 
> [ ]
> 
> André
> 
> 
> Em 30/08/06, Josinei Barbosa da Silva <[EMAIL PROTECTED]>
> escreveu:
> >
> >  Boa tarde a todos.
> >
> > Alguém já viu algo assim:
> >
> > Eu tenho a seguinte select:
> >
> > SELECT *
> > FROM produtos p
> > WHERE upper(p.pro_st_alternativo) = upper('111.222.333/N');
> >
> > Executo isso e não retorna nada.
> > Se eu alterar para a select abaixo, retorna o registro desejado:
> >
> > SELECT *
> > FROM est_produtos p
> > WHERE p.pro_st_alternativo = '111.222.333/N';
> >
> >
> > A versão do Oracle Database usado é 9.2.0.4
> >
> > Se alguém puder me ajudar, fico muito grato.
> >
> >
> >
> >
> > 
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>





 


[As partes desta mensagem que não continham texto foram removidas]



--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__________________________________________________________________
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a