oracle截取某一字符串中的全部数字作为另外一个查询语句中in的查询条件,怎么做

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle截取某一字符串中的全部数字作为另外一个查询语句中in的查询条件,怎么做相关的知识,希望对你有一定的参考价值。

比如说:有一个表中的一个字段的值为 1,2,3 的字符串 (数字之间用逗号隔开的)
查询的时候:
select * from xxx_table xx where xx.id in ( 这个字符串中的数字) 要怎么做啊?
求各位大神打救我啊。。完全没思路。。不胜感激。。

参考技术A

比如查询包含2的:

select * from xxx_table where id like '2,%' or id like '%,2,%' or id like '%,2'

参考技术B

完全用不了索引:

select  xx.*  from xxx_table  xx, b  where b.col like to_char(xx.id)||',%' 
 or b.col like '%,'||to_char(xx.id)||',%'
 or b.col like '%,'||to_char(xx.id)

本回答被提问者和网友采纳
参考技术C 这个不能用 in ,应该用 like
select * from xxx_table xx where xx.id like '%1%' or xx.id like '%2%' or xx.id like '%3%'

以上是关于oracle截取某一字符串中的全部数字作为另外一个查询语句中in的查询条件,怎么做的主要内容,如果未能解决你的问题,请参考以下文章

截取ORACLE字符串中的数字

截取oracle字符串中的数字

oracle sql 截取表中某一字段的部分作为该字段查询结果

c语言截取字符串中的一部分

oracle中截取一个字符串中的数字

oracle正则表达式截取某个字符前的数字