3,490
社区成员
发帖
与我相关
我的任务
分享
WITH TMP AS
(
SELECT 1 AS id , '_id:$oid:573e5bb44d89070f00cf65e9,types:20 GP,_id:$oid:573e5bb44d89070f00cf65e8,types:40 HQ' AS value FROM DUAL UNION ALL
SELECT 2 , '_id:$oid:5758a988c74d490f0093a2bc,types:' FROM DUAL UNION ALL
SELECT 3 , 'qty:2,_id:$oid:573d7e214d89070f00ce5e60,types:20 GP,qty:3,_id:$oid:573d7e214d89070f00ce5e5f,types:40 HQ' FROM DUAL)
select t.*,
regexp_replace(value,'[^,]*qty:([0-9]*,?)|[^,]*,?','\1') a,
regexp_replace(value,'[^,]*types:([^,]*,?)|[^,]*,?','\1') b from tmp t
qty 这个你在外层自己写一个自定义的函数,求一下各就可以了