在用LIKE模糊查詢的時候會遇到下面情況:

這是一張新聞表 我需要根據點選新聞标簽 tag_id 來找出相關标簽的新聞清單 但是用LIKE模糊查詢的時候會遇到一個問題,比如我點選的标簽id是1 那隻要是标簽id帶有1的都會被搜尋出來 如下:
這個時候會用到concat函數 它的作用是拼接字元串,解決思路:從表中可以看出多個tag_id使用“,”号隔開的。我們可以用concat函數把tag_id拼接為,tag_id,的格式 并在搜尋的時候也臨時給tag_id兩邊加上逗号 這樣模糊查詢的tag_id就是獨一無二的了、sql語句如下:
SELECT *,concat(',',tag_id,',') as new_tag from ag_web_news where concat(',',tag_id,',') like "%,107,%"
如圖:
好了 完成!