举例如下: 表中一字段val的三条记录分别为 
23 
12,43,13,34 
43,23
而我要查询匹配该字段的字符串为13,43,如何写sql语句才能把后两条记录找出来
(匹配字符串中的13和43,任一个在字段val中都应该把对应的记录找出来)我感觉好像只有用正则表达式才可以,但不知道如何写正则表达式?求大虾帮忙,感激不尽!!!SQL

解决方案 »

  1.   

    参考下贴中的正规匹配方法应该可以解决楼主的需求。http://blog.csdn.net/acmain_chm/article/details/4141864
    REGEXP 正则的实现两个字符串组的匹配。
    最近MySQL版块中类似问题出现得比较多。总结了一下。 由于某些原因,有时候我们没有按照范式的设计准则而把一些属性放到同一个字符串字段中。比如个人兴趣,有时候我们设计表为create table members (uid int primary key,uname varchar(20),hobby varchar(100));表中内容如下mysql> select * from ...
      

  2.   

    示例:
    select * from tt where ',1,|,3,' regexp ',4,|,5,|,3,'