2012-02-03 111 views
2

我想寫一個SQL語句可以通過比較其拉唯一的記錄是不同的變化MYSQL:模式匹配

例如,我有一個電影的唯一記錄,讓我們說絕地戰警II。

但用戶搜索;
壞男孩2
badboys2>
BADBOYS II(2003)
壞男孩(2003) 等

.... LOWER(MOVIE_TITLE)LIKE '%$ SEARCH_QUERY%'

上面的查詢不會返回我希望獲得的唯一記錄。任何幫助將不勝感激

+1

這是模式匹配,而不是模式識別的所有電影。這兩者非常不同。 – 2012-02-03 17:40:57

+0

如果您使用默認的排序規則看看http://stackoverflow.com/questions/9132382/mysql-query-like-search-and-using-strings-with-symbols – 2012-02-03 17:44:43

+0

,比較不區分大小寫。 – 2012-02-03 17:48:52

回答

1

你可以做到以下幾點:
1)將單詞從字符串數組中的
2)尋找每個單詞的匹配:

SELECT * FROM table WHERE LOWER(movie_title) LIKE '%$search_words[$i]%' 

Howether,如果你搜索「壞booys 2」爲例,此代碼,你會得到它包含單詞「壞」,「男孩」和2