假定检索包含6
SELECT * FROM tab_name where CONCAT(",",par,",") REGEXP ",6," 注意使用CONCAT(",",par,",")给par两端加上分隔符以便于正则表达式的书写

解决方案 »

  1.   

    谢谢~  
    查了一下手册
    -----------------------------
    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后面并没有","号和开头一个前面也没有","号~  也能查到  能详细讲解一下吗?
      

  2.   

    CONCAT(",",par,",") 后,par转换为
    ,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根据你需要来做吧