几年前在Oracle 10或9中,我使用的函数类似于“DBMS_COL_2_VAL”(这绝对不是正确的函数)。
此内置函数的目的是根据指定的分隔符将提供的字符串转换为行。我知道有多种方法可以将分隔的字符串转换为行,但我要寻找的是这个特定的函数。
如果你能提供帮助那就太好了。
请不要使用CONNECT,CASE或REGEX提供任何解决方案。
由于
答案 0 :(得分:7)
我试图找到的功能是SYS.DBMS_DEBUG_VC2COLL
。
从技术上讲,它不会将分隔的字符串转换为列,但会将逗号分隔值列表转换为行。在我找到一个旧的post之后我意识到了。
示例代码和结果:
with test as (
select column_value AS c1
from table( SYS.DBMS_DEBUG_VC2COLL( 'a','b','c' ) )
)
select * from test;
结果:
c1
__
a
b
c
答案 1 :(得分:2)
也许想到这个?
DBMS_UTILITY.COMMA_TO_TABLE (
list IN VARCHAR2,
tablen OUT BINARY_INTEGER,
tab OUT uncl_array);
DBMS_UTILITY.COMMA_TO_TABLE (
list IN VARCHAR2,
tablen OUT BINARY_INTEGER,
tab OUT lname_array);