Na verdade eu andei verificando a minha situação e o like não resolve o meu
problema.

Eu preciso usar a claúsula IN para retorna dados entre determinando
intervalo da seguinte forma:

select co_agrupado from tabela where co_agrupado in ['A001'..'A999'], onde
ele precisa me retornar todos os registro dentro desse intervalo tipo:

A119|B333|C8282|D822
A113|B323|A003|D8292
A559|B343|C223|D6552

Obs: Esse select eu não tó conseguindo montar.

Valew pessoal



2008/5/5 carlos alberto do amaral <[EMAIL PROTECTED]>:

>   Olá Jorge,
>
> Bom, pelo menos no exemplo, não vejo a necessidade de utilização
> do upper... Cuidado, dependendo da situação, vc terá que criar um
> índice para a consulta com a função... Seria interessante, gravar já
> com o "upper" para evitar transtornos...
>
> Quando vc utiliza um select assim: Select co_agrupado from tabela
> where
> upper(co_agrupado) like Vc tem que ter um índice com a função
> upper, correndo o risco de caso não tê-lo, o banco fazer um full scan
> na table... Claro, caso a sua table tenha muitas linhas...
>
> Por que não assim ??
>
> Select co_agrupado from tabela where
> co_agrupado like '%E668%A668%D654%C333%';
>
> Um abraço,
>
> Carlos
>
> P.S.: A primeira vez que vi desta forma o like, foi aqui na lista...
>
> --- Em delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br>,
> "Jorge Ericsson"
> <[EMAIL PROTECTED]> escreveu
>
> >
> > Olá amigos delphianos,
> >
> > Meio confuso meu problema, mas crio que a solução está apenas na
> monstagem
> > da minha instrução SQL.
> >
> > Bom, eu estou com um problema de pesquisa incremental genérica pois
> utilizo
> > uma aplicação que pode retorna informções de 3 bancos Firebird,
> PostgreeSql
> > e Oracle ao mesmo tempo.
> >
> > Na minha tabela eu possuo campos da seguinte forma:
> >
> > CO_AGRUPADO
> > A124|B545|C785|D999|E478
> > *A334|B767|C333|D354|E809
> > B786|A792|D654|C333|E668
> > *
> > Eu gostaria de ao pesquisar por um código tipo E668A334D654C333 -
> sem
> > informa a barra de divisão - ele me retornasse por exemplo a *2ª e
> 3ª
> > linhas de registro apenas*, ignorando a 1ª linha pois não existem
> nenhuma
> > informação nela que atenda a solicitação do usuário.
> >
> > Eu tentei da seguinte forma:
> >
> > Select co_agrupado from tabela where
> > upper(co_agrupado) like upper("E668") or
> > upper(co_agrupado) like upper("A668") or
> > upper(co_agrupado) like upper("D654") or
> > upper(co_agrupado) like upper("C333")
> >
> > Mas, apresenta problemas na montagem do FILTER nos componentes
> usando
> > Zeos(Firebird), ADO(Oarcle) e DBExpress(PostgreSql) dando erro.
> >
> > Alguém poderia dar uma dica ?
> >
> > Valew pessoal
> >
> > Att,
> >
> > Jorge Ericsson S. Pinheiro
> > Analista/Projetista de Sistemas
> > Ericsson Sistemas e Soluções
> > http://www.jericsson.com.br
> > 61 9227.4785 / 3967.6172
> > Brasília - DF
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
> 
>



-- 
Att,

Jorge Ericsson S. Pinheiro
Analista/Projetista de Sistemas
Ericsson Sistemas e Soluções
http://www.jericsson.com.br
61 9227.4785 / 3967.6172
Brasília - DF


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

Responder a