SQL com quot;LIKEquot;
[color=red:72a55ce177]Título editado por Massuda
Removido: ´Ajuda!!!!!´[/color:72a55ce177]
Olá!
Vou tentar explicar minha dificuldade nesta consulta.
Vamos supor que eu tenho cadastrado no sistema registros com os seguintes códigos:
100A
100V
100E
1000A
1000V
Quero buscar apenas os registros com o código 100, ou seja (100A, 100V e 100E)
Com a minha busca, quando eu digito 100, ele traz os códigos 1000 também.
Estou utilizando uma consulta sql com o LIKE
SELECT * FROM TABELA
WHERE NOME_CAMPO LIKE :cod
Existem alguma maneira de eu buscar apenas os campos 100??? Lembrando que com apenas uma busca, ele tem que me trazer todos os registro que contém 100, por isso utilizo o LIKE.
Se puderem me ajudar, ficaria muito grato!
Roni
Ronithd
Curtidas 0
Respostas
Rjun
04/08/2006
Coloque o trecho de código onde você está passando o parâmetro. O código SQL teria que ser algo assim:
SELECT * FROM Tabela WHERE Campo LIKE ´100¬´
SELECT * FROM Tabela WHERE Campo LIKE ´100¬´
GOSTEI 0
Ronithd
04/08/2006
OK
Para passar o parametro, eu utilizo o seguinte comando:
cds_lista_produtos.Close;
cds_lista_produtos.Params[0].AsString := DBEdit1.Text+´¬´;
cds_lista_produtos.Open;
Esta correto?
Para passar o parametro, eu utilizo o seguinte comando:
cds_lista_produtos.Close;
cds_lista_produtos.Params[0].AsString := DBEdit1.Text+´¬´;
cds_lista_produtos.Open;
Esta correto?
GOSTEI 0
Rjun
04/08/2006
Use QuotedStr para passar o parâmetro.
cds_lista_produtos.Close; cds_lista_produtos.Params[0].AsString := QuotedStr(DBEdit1.Text+´¬´); cds_lista_produtos.Open;
GOSTEI 0
Ronithd
04/08/2006
Rjun, utilizei o QuotedStr para passar o parametro, mais a busca nao retorna nenhum registro...
GOSTEI 0
Macario
04/08/2006
Olá.
Com dbExpress, não há necessidade do QuotedStr.
Agora quanto a instrução da sua pesquisa, creio que vc deva utulizar Like e substring, no momento nao consigo ´ver´ outra saida.
Onde vc passaria o segundo parametro sem o ´[b:9d0ab6003c]¬[/b:9d0ab6003c]´
Agora se este campo da pesquisa for usado para guardar numero de parcelas por exemplo, o ideal seria, um outro campo para guardar a variante da parcela.
Já tive problema parecido, com esta situação.
Espero ter ajudado.
P.s.: não testei.
Com dbExpress, não há necessidade do QuotedStr.
Agora quanto a instrução da sua pesquisa, creio que vc deva utulizar Like e substring, no momento nao consigo ´ver´ outra saida.
SELECT * FROM TABELA WHERE NOME_CAMPO LIKE :cod AND SUBSTRING(CAMPO,1,3)= :COD2
Onde vc passaria o segundo parametro sem o ´[b:9d0ab6003c]¬[/b:9d0ab6003c]´
Agora se este campo da pesquisa for usado para guardar numero de parcelas por exemplo, o ideal seria, um outro campo para guardar a variante da parcela.
Já tive problema parecido, com esta situação.
Espero ter ajudado.
P.s.: não testei.
GOSTEI 0
Ronithd
04/08/2006
Pessoal, muito obrigado pela ajuda!
Consegui achar o que faltava.
SELECT * FROM cad_produto
WHERE cod_produto LIKE ´100_´
é só utilizar o ´_´ underline depois do meu parametro e esquecer o ´¬´
Exemplo:
LIKE ´A_´ String que tenham a primeira letra A e o segundo caractere seja qualquer outro.
da certinho
Consegui achar o que faltava.
SELECT * FROM cad_produto
WHERE cod_produto LIKE ´100_´
é só utilizar o ´_´ underline depois do meu parametro e esquecer o ´¬´
Exemplo:
LIKE ´A_´ String que tenham a primeira letra A e o segundo caractere seja qualquer outro.
da certinho
GOSTEI 0