请教一个SQL问题
有一个字符串"12,13,21,14"
用SQL怎么查询一个数字是被包含在这个字符串里的(数字集合是上面字符串中以逗号分隔的数字集)比如:
比方说1就不能算被包含,只有12或者13、21、14才算匹配用SQL怎么写

解决方案 »

  1.   

    用select * from dual where  字段名 in (12,11)
      

  2.   

    教你一个小技巧
    SELECT instr(',12,123,1234,', ',12,') a1 FROM dual;
    SELECT instr(',12,123,1234,', ',23,') a1 FROM dual;
    第一个包含,第二个不包含,看出来了没有?
      

  3.   

    instr(','||sql_big||',',','||sql_small||',')
      

  4.   

    oracle支持正则表达式,可以同通过正则表达式对字符串按照一定规则分离然后再进行操作
      

  5.   

    instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')