我有一个名为Constants的表,其中有一个名为“constant_value”的列,在此特定行上,我希望通过“,”对字符串进行标记,以便在IN子句中使用。
如何在oracle查询中执行此操作?
我发现我可以使用以下查询,但它不会返回所需的数据。我在这里做错了什么?
select regexp_substr(c.constant_value,'[^,]+', 1, level)
from connstants c where c.name='RELAX'
connect by regexp_substr(c.constant_value, '[^,]+', 1, level) is not null;
答案 0 :(得分:0)
所以你试图将行压缩成csv列表。这有什么好处:
select
rtrim (xmlagg (xmlelement (e, c.constant_value || ',')).extract ('//text()'), ',') the_list
from connstants c
where c.name='RELAX' ;
另见SYS_CONNECT_BY_PATH