ORACLE DEVELOPER 对标量参数赋多个值

利用以下代码
var ids varchar2(50);
exec :ids := '1,2,3';
select * from xmltable(:ids);

希望获得如下结果
COLUMN_VALUE


1
2
3

但是直接用以上代码跑出来的值是(XMLTYPE),怎样用xmltable函数才能将逗号分隔的字符串转换为各具有一个值的行?

img

原问题网址https://www.it1352.com/1713538.html

xmltype是一种类型,而不是值,要打开后才能看到里面的数据,或者转换类型来直接显示,比如用to_number转换成数字显示

select to_number(column_value) from xmltable('1,2,3');

img

另外再给你几种方式

select regexp_substr('1,2,3',  '[^,]+',1, level)
  from dual
connect by level <= regexp_count('1,2,3', '[^,]+')

img

select * from table(ora_mining_number_nt(1,2,3));

img