表`data`内有一個列`cate`(text類型),例如: `data` `name` `cate`
aaa 1;3;12
bbb 1;5;7;23
ccc 9;11;3;12 現有一個字符串:$chr="2;3;15"; 那麽$chr可以拆分爲:2和3和15。(這一步可以用php做) 現在我要找到數據表`data`内`cate`列要含有2或3或15的所有資料。即aaa 和ccc 請問用mysql語句應該怎樣寫?不要嵌套,mysql4不支持。
aaa 1;3;12
bbb 1;5;7;23
ccc 9;11;3;12 現有一個字符串:$chr="2;3;15"; 那麽$chr可以拆分爲:2和3和15。(這一步可以用php做) 現在我要找到數據表`data`内`cate`列要含有2或3或15的所有資料。即aaa 和ccc 請問用mysql語句應該怎樣寫?不要嵌套,mysql4不支持。
select '2;3;12' REGEXP concat(',',replace('2;3;15',';','|'),',')
mysql> SELECT VERSION();
-> '4.1.24-standard'如果出错,那就是 4.0 了
REGEXP 正则的实现两个字符串组的匹配。
where concat(';',`cate`,';') regexp
concat(';(',replace('2;3;15',';','|'),');');