四时宝库

程序员的知识宝库

Sql使用正则表达式查询字典中key对应的value

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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接