我有table\u x表的code\u x字段,其内容采用以下格式:
CODE02+CODE03+CODE01+......+CODE0n
我的目标是,在pl/sql过程中,使用“+”分隔符将内容分成几行,以增强临时表的code\t字段
CODE02
CODE03
CODE01
......
CODE0n
请注意,数据的顺序不得更改。
拆分字段后,我必须与每个值连接例如,用另一个表(表y)截获
select NAME_Y from TABLE_Y A
inner join TABLE_T B
on A.CODE_Y=B.CODE_T
获得类似于以下结果:
NAMECODE02
NAMECODE03
NAMECODE01
......
NAMECODE0n
其中,上述名称的顺序与先前拆分的代码相同。
提取名称后,我必须以与代码相同的方式重新压缩它们,以获得单个字段,如:
NAMECODE02+NAMECODE03+NAMECODE01+......+NAMECODE0n
我希望我是清楚的,我提前感谢你给我的帮助
3条答案
按热度按时间vngu2lb81#
在显示时拆分内容,无论其中可能有多少个值
从行返回到列
如果您想要一条具有相同分隔符的记录
当然,您必须在plsql中包含这一点,以动态计算您可能有多少列(当然,限制是1000,超过这个限制是不可能的)
sz81bmfz2#
你可以用
REGEXP_SUBSTR()
与…一起工作level
伪柱:以取消提取值
演示
aor9mmx13#
将上面的sql与listag组合以重新压缩