1. 程式人生 > >mysql 單表多欄位模糊查詢解決方法

mysql 單表多欄位模糊查詢解決方法

例如:user表中有id,name,age 三個欄位,然後根據使用者輸入的查詢請求,將輸入的字串通過空格分割為多個關鍵字,再在這三個欄位中查詢包含這些關鍵字的記錄。

可目前遇到的問題是,這些關鍵字是可能存在於三個欄位中的任意一個或者多個,但又要求三個欄位必須包含所有的關鍵詞。如果分別對每個欄位進行模糊匹配,是沒法實現所需的要求

CONCAT(str1,str2,…)

返回值:由全體出入引數合併在一起而得到的字串。只要輸入的引數中有NULL值,就返回NULL。CONCAT允許只有一個輸入引數的情況。 因此,前文的查詢可以通過下面這個SQL查詢實現 select * from usae where concat(str1,str2,..) like '%關鍵字%'