想要匹配 select '1,28' REGEXP '2|3';这个怎么是返回1呢?怎么才能返回0呢? 也就是说要达到完全匹配的效果,上面的SQL好像是前面只要有一个2就返回1了,而我要的是完全匹配才返回1

解决方案 »

  1.   

    这个问题一直在测试,其实简单,你要的是准确查找,
    select ',1,28,' REGEXP ',2,|,3,'
      

  2.   

    上个帖子:
    select * from ttj1 where 
    concat(',',f1,',') regexp concat('',replace('(,2,.,29,)','.','|'),'')
      

  3.   

    不用,字段用CONCAT连接两端,
    变量连接两端,再用.分隔,
    是麻烦了一点,不过,你要实现准确查找
      

  4.   

    select concat(',','1,28',',') REGEXP ',2,|,3,';
      

  5.   

    select * from yourTable
    where concat(',',colName,',') concat(',',replace('2,3',',',',|,'),',');