cláusula like no mysql

8 respostas
D

estou desenvolvendo um programa com a acesso ao SGBD MySQL e encontrei uma pedra no caminho. Quando envio um comando sql com uma cláusula like não funciona. EX :

String letra_n;
sql = “SELECT * FROM cliente WHERE nome LIKE '”+letra_n+"*’";

e mesmo tentando esse comando no console do MySQL, o resultado da consulta é vazio mesmo tendo nomes que iniciam com a letra. Se existir outra maneira de fazer, ficaria grato em saber.

Obrigado pela atenção

8 Respostas

joede.fadel

use assim

sql = "SELECT * FROM cliente WHERE nome LIKE '%"+letra_n+"%'";
fiaux

Dê uma olhada para entender o uso do like http://www.1keydata.com/sql/sqllike.html

G

falto os simbolos de % faca como o amigo joede.fadel disse acima

vlws

D

no galera valeu
rodou perfeitamente
BRIGADÃO :smiley:

L

i have the following problem:
Eu tenho uma sentença de 1 banco de dados “NEWS” de 3 dados --> (Newid, Data, Categoria)

eu quero buscar os numeros pares do (newid)
que sejam maior que 7 dias atras (data)
e que pertençam a categoria tal (Categoria)

em minha sentença eu consegui fazer assim:

SELECT * FROM news WHERE categoria = ‘".$_GET[‘categoria’]."’ AND news.data >= ‘".$dat."’ AND news.newid LIKE ‘%0’ or news.newid LIKE ‘%2’ or news.newid LIKE ‘%4’ or news.newid LIKE ‘%6’ or news.newid LIKE ‘%8’

mas ela nao funciona como eu quero, pois colocando a expressão “or” ela vai deixar que (newsid de numeros pares sem ser da categoria que quero aparecer)

as minhas buscas deram na seguinte expressão onde defino numeros pares em um unico argumento:

WHERE news.newid LIKE ‘%[0-2468]’

mas ela nao funciona de jeito nenhum. por favor me ajudem

pmlm

Tens de colocar parênteses nas condições do OR.

... AND (... OR ... OR ... OR ... )
java

leolima003:
i have the following problem:
Eu tenho uma sentença de 1 banco de dados “NEWS” de 3 dados --> (Newid, Data, Categoria)

eu quero buscar os numeros pares do (newid)
que sejam maior que 7 dias atras (data)
e que pertençam a categoria tal (Categoria)

em minha sentença eu consegui fazer assim:

SELECT * FROM news WHERE categoria = ‘".$_GET[‘categoria’]."’ AND news.data >= ‘".$dat."’ AND news.newid LIKE ‘%0’ or news.newid LIKE ‘%2’ or news.newid LIKE ‘%4’ or news.newid LIKE ‘%6’ or news.newid LIKE ‘%8’

mas ela nao funciona como eu quero, pois colocando a expressão “or” ela vai deixar que (newsid de numeros pares sem ser da categoria que quero aparecer)

as minhas buscas deram na seguinte expressão onde defino numeros pares em um unico argumento:

WHERE news.newid LIKE ‘%[0-2468]’

mas ela nao funciona de jeito nenhum. por favor me ajudem

tente isolar a parte dos números pares com o parenteses

SELECT * FROM news WHERE categoria = ‘".$_GET[‘categoria’]."’ AND news.data >= ‘".$dat."’ AND (news.newid LIKE ‘%0’ or news.newid LIKE ‘%2’ or news.newid LIKE ‘%4’ or news.newid LIKE ‘%6’ or news.newid LIKE ‘%8’ )

Antes qualquer newid que fosse par seria exibido, mesmo que em OUTRA categoria ou data…

L

rapaz! era exatamente isso que eu estava buscando e nunca tinha pensado nessa ideia!

vlw ae pessoal!

queria tambem oferecer minha ajuda caso alguem esteja com projetos e precisando de ajuda!

uma fraternidade pensando junto podemos conseguir muita coisa boa!

http://projetodonunca.comindwork.com <-- otimo sites pra organizar projetos!

Criado 2 de junho de 2008
Ultima resposta 28 de jan. de 2010
Respostas 8
Participantes 7