Ir para conteúdo

POWERED BY:

Arquivado

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

horacio2009

string replace em query

Recommended Posts

boa tarde a todos!!!

galera, seguinte...por questões tecnicas, estou lancando a seguinte pesquisa:

"select email from tabela where like'fulano*&*&*beltrano'" eu quero que esse email, seja lido pela query como fulano.beltrano...tem como fazer isso?alguma função de entrada de dados com string replace, sei lá...

conhecem algo que possa me ajudar com isso???

Ah..antes que alguém me pergunte porque simplismente não lanço o email direto, eu explico:

estou usando o match para poder confrontar alguns dados, da forma que preciso, não consigo fazer isso com o like nem com o IN...só que no match, se digito fulano.beltrano ele localiza tanto o fulano como o beltrano...e não é o que eu quero, ele vai muito além...também pensei em usar aspas duplas, pq segundo o manual do mysql ele interpreta de maneira literal, mas aí, não tenho como usar os telefones no againt( uso dois telefone, email e cpf )nesse caso, a unica coisa que me ocorreu foi um string replace, mesmo, isso SE tiver como, lógico...

enfim, o que posso fazer para resolver isso??

Obrigado a todos pela atenção e paciência!!!

Grande abraço!!!

Horácio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Horácio,

 

Primeiro sugiro que você, talvez, reveja os objetivos de sua busca por dados no banco de dados e depois tente simplificar ao máximo a sua solução/estratégia com o FullText. Não sei qual é a versão do MySQL que você está utilizando, mas, possivelmente você terá disponível as buscas IN BOOLEAN MODE para melhor trabalhar operadores que te ajudarão a melhor extrair a informação de suas tabelas.

 

Busca booleana com o FullText

 

Contudo, para que você faça o replace de informações em meio a uma consulta, basta utilizar a função REPLACE(). Para testar um valor qualquer e depois substituir, você ainda poderá ninhar o REPLACE() dentro da função IF(), que terá a mesma lógica de uma estrutura condicional de qualquer linguagem de programação.

 

SELECT IF(coluna = 1,'true','false')...

 

Caso essa explicação não resolva o seu problema, compartilhe conosco o que você já tem que podemos analisar o problema junto com você.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, vamos lá...

a query em questão é essa:

SELECT codigo FROM TabelaFichas WHERE MATCH(Ficha) AGAINST ('+33392538 21 +casa.hamsters@ +24490911734')

problema identificado:

quando ele busca "+casa.hamsters@"

ele localiza além do que deve, tudo que tenha "casa" e "hamsters"

pensei no booleans, mas aí, como ficam os outros campos, pois preciso localizar também os telefones, se tiver...o email e um complemento necessário a busca...

enfim...o booleans até pode funcionar mas com um campo só, não?qual a melhor saída para esse caso???

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.