1. 程式人生 > >oracle查詢結果字串用於查詢條件in中,查不到資料

oracle查詢結果字串用於查詢條件in中,查不到資料

oracle查詢結果字串用於查詢條件in中,查不到資料,例如:
1、select a.remark from test1 a where 1=1

2、select ”” || REPLACE(a.remark , ‘,’, ”’,”’) || ”” from test1 a

3、select * from test2 b where b.id in (select ”” || REPLACE(a.remark , ‘,’, ”’,”’) || ”” from test1 a
)

4、select * from test2 b where b.id in (‘a’,’b’,’c’,’d’,’e’)

結論:使用1查詢出結果為 a,b,c,d,e
使用2查詢結果為 ‘a’,’b’,’c’,’d’,’e’
使用3查詢不到結果
使用4查詢到結果

通過查詢資料發現其他方法

select *
from test2 b where
INSTR(‘,’|| (select a.remark
from test1 a ) || ‘,’ , ‘,’ || b.id ||’,’ )>0;

可以查詢出結果了