Oracle数据库中,如果某个值的类型类似字典,此时如果想提取字典中某个key对应的value,应该怎样操作呢?
举例:如果某个值为 {"a":"123", "b": "456"},目标是查询b对应的数值(456)。此时可以使用regexp_extract函数,配合相应的正则表达式进行提取:
SELECT regexp_extract(subject,'"b":"(\\d+)"',1) ——结果为:456
语法: regexp_extract(string subject, string pattern, int index)
返回值: string
说明: 将字符串subject按照pattern正则表达式的规则拆分,返回index指定的字符。
第一参数: 要处理的字段
第二参数: 需要匹配的正则表达式
第三个参数:
- 0是显示与之匹配的整个字符串
- 1 是显示第一个括号里面的
- 2 是显示第二个括号里面的字段
语法摘自:https://blog.csdn.net/qq_30331643/article/details/93051421