是的,這是一個已被打死的問題,但我相信它有點不同。MySQL字符串'包含'功能
請考慮這個MySQL表test
:
所需結果集是:
在換句話說,如何可以在第一3條記錄(id
的1,2, 5)選用恰好這個字符串 - '電影,娛樂'和單個查詢?也就是說,A
如何與上面的字符串進行比較,並且如果即使單字'匹配,它也會返回記錄?
曾嘗試以下:
SELECT * FROM test WHERE A LIKE "%Cinema, Entertainment%"
SELECT * FROM test WHERE INSTR(A, 'Cinema, Entertainment') > 0
兩個只返回的第一個記錄,做一個精確匹配。
SELECT * FROM test WHERE A LIKE '%Cinema%' OR A LIKE '%Entertainment%'
確實有效,但我不想標記可用的字符串。該字符串也可以有多個CSV
。
非常新的正則表達式,似乎無法形成正確的查詢。
見過這些很酷的答案,:
...但仍在掙扎。
在此先感謝!
你意識到你使用了錯誤的數據結構,對不對? – shmosel
我覺得你需要去全文搜索 –
@shmosel,謝謝!你的意思是在一列中不應該有'CSV'? –