use a o BETWEEN
----- Original Message ----- From: Jorge Ericsson To: delphi-br@yahoogrupos.com.br Sent: Monday, May 05, 2008 3:24 PM Subject: Re: [delphi-br] Re: URGENTE: Consulta incremental LIKE 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] [As partes desta mensagem que não continham texto foram removidas]