假定检索包含6
SELECT * FROM tab_name where CONCAT(",",par,",") REGEXP ",6," 注意使用CONCAT(",",par,",")给par两端加上分隔符以便于正则表达式的书写
SELECT * FROM tab_name where CONCAT(",",par,",") REGEXP ",6," 注意使用CONCAT(",",par,",")给par两端加上分隔符以便于正则表达式的书写
调试欢乐多
查了一下手册
-----------------------------
CONCAT(str1,str2,...)
返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2个的参数。一个数字参数被变换为等价的字符串形式。
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
对这sql语句还是不大理解 REGEXP ",6," 第三条记录6后面并没有","号和开头一个前面也没有","号~ 也能查到 能详细讲解一下吗?
,1,4,5,
,2,3,
,2,3,6,
,2,3,6,9,
,2,10,
,2,7,
,3,11,
所以",6,"可以找到所有的6
若不做此操作,则
1,4,5
2,3
2,3,6
2,3,6,9
2,10
2,7
3,11
只能找到2,3,6,9 中的6根据你需要来做吧