2017-03-08 1 views
0

How to search inside a SQL table for a phraseComment rechercher dans un tableau

En rapport avec ma question précédente. J'utilise cette requête pour rechercher dans une base de données

SELECT * 
     FROM clients 
     WHERE MATCH(search_text) 
     AGAINST(? IN NATURAL LANGUAGE MODE) LIMIT 5 

Le problème est qu'il correspond à des mots comme ceci:

Terme: foo

Entrée:

  • foo1 (pas de correspondance)
  • foo 1 (correspondance)
  • foo bar (correspondance)
  • barfoobar (aucun match)

Comment puis-je faire en sorte qu'elle corresponde à tous les exemples d'entrée que j'ai donné

+0

avez-vous essayé le terme recherché:% foo%? –

+0

Que voulez-vous dire? – user9219312

+0

Regardez cette question et répondez http://stackoverflow.com/questions/21682506/mysql-partial-word-searching Si vous recherchez foo *, vous pouvez obtenir foo1, mais il ne semble pas possible d'obtenir barfoobar. – Linkan

Répondre

0

utilisation Déclaration LIKE

SELECT * 
    FROM clients 
    WHERE search_text LIKE '%foo%' 

Pour votre question, l'utilisation guillemets simples ''

SELECT * 
    FROM clients 
    WHERE MATCH(search_text) 
    AGAINST('?') 

Ref: http://www.mysqltutorial.org/mysql-natural-language-search.aspx

+0

Je veux continuer à chercher en mode naturel, j'ai besoin de la requête existante modifiée – user9219312

+0

vérifier la réponse mise à jour –