這個問題對你來說可能很簡單。我使用mysql regexp statment。正則表達式從字符串搜索一個數字
更改爲MyQuery是
select * from contents where categories regexp '{myPattern}';
類別場區54,25,99,4,2
...等字符串。
我的問題我如何才能從類別字段中找到數字'4'。
對不起,我的英語。 請幫我。
這個問題對你來說可能很簡單。我使用mysql regexp statment。正則表達式從字符串搜索一個數字
更改爲MyQuery是
select * from contents where categories regexp '{myPattern}';
類別場區54,25,99,4,2
...等字符串。
我的問題我如何才能從類別字段中找到數字'4'。
對不起,我的英語。 請幫我。
… WHERE FIND_IN_SET('4', categories) > 0
更好的正常化與類別你的數據庫計劃在自己的表中,然後加入這些表連接在一起M:N
的方式來匹配「含‘4’的任何CVS字符串作爲字符串中值」是:
mycolumn regexp '[[:<:]]4[[:>:]]'
在MySQL的正則表達式,[[:<:]]
表示‘字的開始’和[[:>:]]
表示‘字的末尾’。
是的 - 我發佈後檢查,並有一種方法。修改爲顯示它 – Bohemian
您可以使用此:
where categories RLIKE '(^|,)4($|,)';
時categories
包含4
,隨後,
或什麼,並通過,
或沒有precedeed這將匹配。
非常感謝你。爲我工作 – maverabil
knittl的解決方案看起來更好;) – arnaud576875
用於標準化的+1 –
謝謝knitll,以及當我只搜索4和2時,它是怎麼回事? – maverabil
你是什麼意思? FIND_IN_SET('4',categories)> 0 AND FIND_IN_SET('2',categories)> 0'同時找到兩個類別,用'OR'找到任何類別 – knittl