如何解析用分号分隔数据的列?
INPUT
+ Column1 +
+--------------------------------------+
+ param1=valA;param2=valB; +
+ param1=valX;param2=valY;param3=valZ; +
选择
的输出valA, valB, null
valX, valY, valZ
谢谢,
答案 0 :(得分:3)
如果您想要三列,则可能需要三个regexp_substr()
:
select replace(regexp_substr(col1, 'param1=[^;]*'), 'param1=', '') as param1,
replace(regexp_substr(col1, 'param2=[^;]*'), 'param2=', '') as param2,
replace(regexp_substr(col1, 'param3=[^;]*'), 'param3=', '') as param3