生成用于SQL查询的字符串

时间:2019-07-08 15:57:30

标签: regex oracle replace

我有这个字符串

D_Y_A7,D_Z_A7,D_Z_PRE_A7,D_PC_Z_A7, D_Y_A8,D_Z_A8,D_Z_PRE_A8,D_PC_Z_A8, D_Y_A9,D_Z_A9,D_Z_PRE_A9,D_PC_Z_A9

我尝试生成这样的

ed.Y_A7, ed.Z_A7, pre.Z_A7, pr(pre.Z_A7,ed.Z_A7),ed.Y_A8, ed.Z_A8, pre.Z_A8, pr(pre.Z_A8,ed.Z_A8), ed.Y_A9, ed.Z_A9, pre.Z_A9, pr(pre.Z_A9,ed.Z_A9)

我尝试使用此查询

    select REGEXP_REPLACE (
                replace (
                          replace ('D_Y_A7,D_Z_A7,D_Z_PRE_A7,D_PC_Z_A7,D_Y_A8,D_Z_A8,D_Z_PRE_A8,D_PC_Z_A8,D_Y_A9,D_Z_A9,D_Z_PRE_A9,D_PC_Z_A9', 'D_' , 'ed.') ,
                'ed.Z_PRE' , 'pre.Z') ,
  '(\ed.PC_*)', 'pr(pre.\2' ) from dual

现在我有这个输出

"ed.Y_A7,ed.Z_A7,pre.Z_A7,pr(pre.Z_A7,ed.Y_A8,ed.Z_A8,pre.Z_A8,pr(pre.Z_A8,ed.Y_A9,ed.Z_A9,pre.Z_A9,pr(pre.Z_A9"

请帮助我将“ pr(pre_Z_A7)转换为“ pr(pre.Z_A7,ed.Z_A7)

谢谢

0 个答案:

没有答案