欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle select 字符串处理解决办法

更新时间: 2014-01-05 02:11:59 责任编辑: Author_N1

 

Oracle select 字符串处理
现有表A A中有字段名为a1的列
a1列的取值范围为 【2 3 5 82 80】
取值为这五个数的任意组合,至少包含一个数字;若有多个数字,中间使用“,”连接

现有字符串 5,82
需要从A表中选取a1列中的值包含5或者82的所有行

select * from A
where
    ... 
   a1的值包含5或者82
   ...?

求教啦,请各位大神不吝赐教!先谢谢啦!
--参考方法--

select * from A where ','
--参考方法--
a1
--参考方法--
',' like '%,5,%' or ','
--参考方法--
a1
--参考方法--
',' like '%,82,%'

希望能帮到你!~
--参考方法--
引用:
如果是个变量呢,比如str,str的取值和上面的取值规则一样
select * from A
where
    ... 
   a1的值包含str
   ...?
这样该怎么写?

如果是包含的话应该为这样:

select distinct t1.a1
  from a t1,
       (select REGEXP_SUBSTR('2,3,5,82,80', '[^,]+', 1, LEVEL) str
          from dual
        CONNECT BY LEVEL <= REGEXP_COUNT('2,3,5,82,80', ',') + 1) t2
 where t1.a1 like '%' 
--参考方法--
 t2.str 
--参考方法--
 '%';
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:11:59
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6871/
本文WWW.DOC100.NET DOC100.NET版权所有。