【发布时间】:2019-09-13 09:27:18
【问题描述】:
我在 oracle db 中有 material_info 表
MATERIAL COUNTRIES
----------------------------
HX345TY US,IN,SG,CN,JP
MXT15WO SL,AU,IN,US,AF
UIY7890#RT UK,US,IN,SG,PK
我想要如下输出
MATERIAL COUNTRIES
-----------------------------
HX345TY US
HX345TY IN
HX345TY SG
HX345TY CN
HX345TY JP
MXT15WO SL
MXT15WO AU
MXT15WO IN
MXT15WO US
MXT15WO AF
UIY7890#RT UK
UIY7890#RT US
UIY7890#RT IN
UIY7890#RT SG
UIY7890#RT PK
我为此编写了如下查询。但它不工作。谁能给出解决方案
select material, trim(regexp_substr(COUNTRIES,'[^,]+', 1, level) ) COUNTRIES, level
from material_info connect by regexp_substr(COUNTRIES, '[^,]+', 1, level) is not null;
【问题讨论】:
-
您不应该将逗号分隔的值存储在单个列中
标签: sql oracle split delimiter