2017-05-08 1 views
0

ich für eine richtige SQL-Abfrage bin auf der Suche, die mir folgende erlauben würde:SQL-Select-Abfrage (extended)

  • In der Datenbank habe ich einen Artikel, das Wort „Steuer“ enthält
  • Wenn ich Abfrage verwenden SELECT * FROM 'table' WHERE content LIKE '%tax%' es wird mein Artikel
  • Allerdings, wenn ich nach „Importabgabe“ finden, es wird nichts finden

gibt es etwas, was ich übersehen, was noch meinen Artikel auch mit dieser „e zurückkehren konnte xtended "Suchphrase?

Danke, Ivana

+1

einige Beispieltabellendaten hinzufügen und das erwartete Ergebnis - auch formatierten Text. – jarlh

+1

Enthält Ihr Artikel den Teilstring "Import Tax"? Sind Sie sicher, dass es nur ein Leerzeichen zwischen Import und Steuern gibt? –

+0

oder ausgeblendete Zeichen – GurV

Antwort

0

Sie müssen meinen SQL-Text-basierte Suche als

SELECT * FROM `table` WHERE MATCH (content) AGAINST ('your_search_text' IN NATURAL LANGUAGE MODE); 

Sie dies für mehrere Werte gesucht werden sollen mysql full text search

0

Wenn Sie hier überprüfen verwenden zu können, kann reguläre Ausdrücke verwenden:

SELECT * 
FROM `table` 
WHERE content REGEXP 'import|tax' 

Sucht nach Inhalten, die sowohl "Import" als auch "Steuer" enthalten.

Ich würde auch vorschlagen, dass Sie in Volltextindizes schauen. Seien Sie jedoch vorsichtig, denn "tax" hat drei Zeichen und ist möglicherweise nicht lang genug, um es mit den Standardeinstellungen in den Volltextindex aufzunehmen.

0

Der einfachste Weg wäre eine andere wie zu verwenden:

SELECT * FROM 'table' 
WHERE content LIKE '%tax%' AND content LIKE '%import%'; 
Verwandte Themen