had*_*des 0 sql oracle string-split
我想在oracle db中通过分隔符(|)拆分列.我怎样才能做到这一点?
在db中,值将存储为:
领域
AP1|Apple Juice|100
Run Code Online (Sandbox Code Playgroud)
我想分开它成为:
Field1 | Field2 | Field3
AP1 Apple Juice 100
Run Code Online (Sandbox Code Playgroud)
我不知道确切的查询,但基本上下面是我想要的.
select split(Field) as Field1, split(Field) as Field2, split(Field) as Field3
Run Code Online (Sandbox Code Playgroud)
我想只使用SQL(不创建任何存储过程或函数).
正则表达式:
with sample_data as
(select 'AP1|Apple Juice|100' str
from dual
)
select str,
regexp_substr(str, '[^|]+', 1, 1) str1,
regexp_substr(str, '[^|]+', 1, 2) str2,
regexp_substr(str, '[^|]+', 1, 3) str3
from sample_data;
Run Code Online (Sandbox Code Playgroud)