Como fazer um quot;like ao contrárioquot;?
10/02/2005
0
Pessoal, imaginem o seguinte:
Tenho uma tabela chamada TABNOMES com um campo NOMES.
Nesse campo tenho vários nomes completos cadastrados, e preciso consultar apenas aqueles que possuem a string ´Angelo´ lá dentro.
A solução é simples:
´select NOMES from TABNOMES where NOMES like ´¬Angelo¬´´
Agora que vem o meu problema:
E se for ao contrário???
Tabela TABNOMES
Campo NOMES mas não com os nomes completos e sim com um nome (ou parte deles)
Um exemplo:
Tenho a string ´Angelo Valle´ e preciso verificar se tem alguma referência a meu nome na tabela NOMES, como um ´Ang´, ou ´Vall´.
Esses valores cadastrados não tem tamanho fixo. Podem ter de 3 a 15 caracteres.
Caramba, ´like reverso´?? risos
Sei que dá pra fazer usando o php mesmo, mas isso vai exigir mais de uma consulta e é pra uma coisa que não pode ter muito load. O ideal é apenas uma query ou então nem vale a pena fazer.
Consegui explicar? teoricamente sairia um ´like ao contrário´, como um ´select NOMES from TABNOMES where ´¬Angelo Valle¬´ like NOMES´
Claro que isso não funciona. E eu já olhei pra caramba a referência do mysql e não encontrei nada. Nem a vela do Santo Google resolveu.
Se alguém puder dar uma luz, já será de ótimo tamanho
Ah, a versão que eu uso aqui é a 4.0.23
Tenho uma tabela chamada TABNOMES com um campo NOMES.
Nesse campo tenho vários nomes completos cadastrados, e preciso consultar apenas aqueles que possuem a string ´Angelo´ lá dentro.
A solução é simples:
´select NOMES from TABNOMES where NOMES like ´¬Angelo¬´´
Agora que vem o meu problema:
E se for ao contrário???
Tabela TABNOMES
Campo NOMES mas não com os nomes completos e sim com um nome (ou parte deles)
Um exemplo:
Tenho a string ´Angelo Valle´ e preciso verificar se tem alguma referência a meu nome na tabela NOMES, como um ´Ang´, ou ´Vall´.
Esses valores cadastrados não tem tamanho fixo. Podem ter de 3 a 15 caracteres.
Caramba, ´like reverso´?? risos
Sei que dá pra fazer usando o php mesmo, mas isso vai exigir mais de uma consulta e é pra uma coisa que não pode ter muito load. O ideal é apenas uma query ou então nem vale a pena fazer.
Consegui explicar? teoricamente sairia um ´like ao contrário´, como um ´select NOMES from TABNOMES where ´¬Angelo Valle¬´ like NOMES´
Claro que isso não funciona. E eu já olhei pra caramba a referência do mysql e não encontrei nada. Nem a vela do Santo Google resolveu.
Se alguém puder dar uma luz, já será de ótimo tamanho
Ah, a versão que eu uso aqui é a 4.0.23
Moonlight
Curtir tópico
+ 0
Responder
Posts
11/02/2005
Koplin
Olá,
Nao seria o caso de usar um ou varios OR?
Angelo Valle
select nome from clientef where nome like ´¬Angelo¬´ OR nome like ´¬Valle¬´
para isso vc teria que separar a string em palavras ´angelo´ e ´valle´
e montar a sql conforme a qtd de palavras.
Nao sei se entendi e se fui claro.
Qualquer coisa posta ai ou me procura no MSN Alf_koplin@hotmail.com
Nao seria o caso de usar um ou varios OR?
Angelo Valle
select nome from clientef where nome like ´¬Angelo¬´ OR nome like ´¬Valle¬´
para isso vc teria que separar a string em palavras ´angelo´ e ´valle´
e montar a sql conforme a qtd de palavras.
Nao sei se entendi e se fui claro.
Qualquer coisa posta ai ou me procura no MSN Alf_koplin@hotmail.com
Responder
Clique aqui para fazer login e interagir na Comunidade :)