2017-05-08 133 views
0

我正在尋找一個適當的SQL查詢這將讓我有以下幾點:SQL SELECT查詢(擴展)

  • 在數據庫中,我有一個包含單詞「稅」
  • 如果我使用的查詢文章SELECT * FROM 'table' WHERE content LIKE '%tax%'它會找到我的文章
  • 但是如果我搜索「進口稅」,也不會發現什麼

有什麼是我忽略了什麼可能還是回到我的文章即使有這樣的「e xtended「搜索短語?

謝謝 伊萬娜

+1

添加一些示例表數據和預期的結果 - 以及格式化文本。 – jarlh

+1

您的文章是否包含子字符串「進口稅」?你確定這只是進口和稅收之間的單一空間嗎? –

+0

或隱藏的字符 – GurV

回答

0

你用我的SQL基於文本的搜索作爲

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

如果你想搜索多個值,您可以檢查此在這裏mysql full text search

0

,你可以使用正則表達式:

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

這將搜索同時具有「導入」和「稅收」的內容。

我也建議你看看全文索引。但是,請小心,因爲「稅」有三個字符,可能不夠長,無法使用默認設置將其轉換爲全文索引。

0

最簡單的方法是使用另一個類似:

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