Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nuk3r

Comando SQL like

Recommended Posts

Amigos

Estou usando o comando:

 

query1.SQL.Add('Select * from ArqT where codifsab Like '+''''+'['+kcodini+'-'+kcodfin+']%'+'''');

 

A saída do comando é esse

select * from ArqT where codifsab Like '[0106800105590009-0106800105590720]%'

 

A minha dificuldade é que o campo codifsab possui 24 dígitos e preciso filtrar todos os registros, os quais o tal campo, comecem com kcodini até kcodfin. Independente dos 8 dígitos finais.

Mas o comando acima resulta em 0(zeros) registros. Eu sei que existem registros nesse intervalo.

O que está errado????

Antecipadamente agradeço a ajuda de você's

Valeu!

Nuk3r http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

EXEMPLO :

 

SEELCT *

FROM CLIENTES

WHERE NOME LIKE '%nuk3r%'

 

Procura pela string em qualquer posição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

EXEMPLO :SEELCT *FROM CLIENTESWHERE NOME LIKE '%nuk3r%'Procura pela string em qualquer posição.

Antes de mais nada, obrigado pela atenção dispensada.Mas o problema que tenho é a necessidade de filtrar todo um intervalo entre kcodini e kcodfin, sendo que essas variáveis se referem somente aos 16 primeiros caracteres do campo codifsab (que possui 24 caracteres).Já tentei utilizar a cláusula BETWEEN, mas a mesma trabalha somente com valores numéricos.Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual bd ?

use uma function de bd que pegue parte de uma string , no Oracle temos SUBSTR

 

select * from tabela

where substr(codigo,1,16) between 123456789012345 and 123456789012346

 

mas a solução depende do bd utilizado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.