我需要获取具有一些json数据的blob字段的一部分。斑点的一部分像这样CustomData:{HDFC;1;0;sent}
。我需要在CustomData
之后使用单独的值,就像我需要分别发送HDFC
,1
,0
一样。
这是我在两个有效的单独查询中尝试过的方法:
这使我在CustomData
blob字段中索引payment_data
,例如返回11000
select dbms_lob.instr(payment_data, utl_raw.cast_to_raw('CustomData'))
from table_x;
我将第三个参数指定为第一个查询返回的内容+测试时间CustomData:
以获得{HDFC;1;0;sent}
select UTL_RAW.CAST_TO_VARCHAR2(dbms_lob.substr(payment_data,1000,11011))
from table_x;
问题是我需要在第二个查询中使用动态偏移量,而不是单独运行第一个查询。指定动态偏移量不适用于dbms_lob.substr()函数。有什么建议可以将这两个查询合并为一个?
一旦获得{HDFC;1;0;sent}
,我还需要分别获取这些定界的值,因此,如果有人可以帮助将这三个定为一个更好。一旦将前两个结合起来,就可以使用regexp_substr来获取分隔的文本。
答案 0 :(得分:0)