广告
返回顶部
首页 > 资讯 > 数据库 >Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值
  • 759
分享到

Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值

数据库oraclemysqljsonxml 2023-09-13 19:09:53 759人浏览 泡泡鱼
摘要

文章目录 Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值1、获取JSON格式的某个属性值1.1 Oracle数据库中获取JSON某个属性值1.2 MySQL数据库中获取

文章目录

oracleMysql数据库获取JSON属性值、获取XML标签属性值

在日常的开发中,我们会经常遇到数据库某字段存储的是clob格式或大text格式的字段,里面存的可以是json,也可以是xml的文本。我们把数据存进去了,想获取其中一个属性值或标签值时,总会让人头疼。小编整理了一些知识,希望能帮助到大家!

1、获取JSON格式的某个属性值

1.1 Oracle数据库中获取JSON某个属性值

Oracle数据库提供了一个函数:json_value(变量1变量2)
- 变量1是存储json格式的列字段
- 变量2是要获取的json属性的层级(要以$.开头标识
下面我们进行测试
在table1表的remark字段中添加一段JSON数据

{"a": "aaaa","b": "bbbb","c": "cccc","d": {"da": "daaaad","db": "dbbbbd","dc": "dccccd"}}

我现在要获取json字符中的b属性的值和dc属性的值,sql可以这样写:

select  json_value(a.remark, '$.b') as b,  json_value(a.remark, '$.d.dc') as dcfrom  table1 a

查询结果:
json查询结果

1.2 mysql数据库中获取JSON的属性值

MySQL数据库提供了一个函数:json_extract(变量1,变量2)
- 变量1是存储json格式的列字段
- 变量2是要获取的json属性的层级(要以$.开头标识
**注意:**下面我们进行测试(json的测试数据同上
我现在要获取json字符中的b属性的值和dc属性的值,SQL可以这样写:

select  JSON_EXTRACT(a.remark, '$.b') as b,  JSON_EXTRACT(a.remark, '$.d.dc') as dcfrom  table1 a

查询结果:
mysql中JSON格式获取属性值结果

从查询结果中我们可以看到,查询出来的值被双引号("")包裹住了,很明显这个值不太是我们想要的。
我们可以使用MySQL提供的另一个函数来避免这个问题:json_unquote(变量)

改造后的SQL:

select  JSON_UNQUOTE(JSON_EXTRACT(a.remark, '$.b')) as b,  JSON_UNQUOTE(JSON_EXTRACT(a.remark, '$.d.dc')) as dcfrom  table1 a

查询结果:
正确的查询结果

2、获取XML格式的某个标签的属性值

2.1 Oracle数据库中获取XML某个标签的属性值

Oracle数据库提供了两个函数:extractvalue(变量1,变量2)xmltype(变量)
extractvalue(变量1,变量2):用于获取XML的标签属性值
- 变量1:存储xml格式的列字段
- 变量2:要获取的XML属性的层级(要以/开头标识
xmltype(变量):用于标识某个列(字段)是xml数据类型
- 变量:表示该列(字段)是xml的数据类型
下面我们进行测试:
在table1表的remark字段中添加一段XML数据

<body>    <a>aaaaa>    <b>bbbbb>    <c>ccccc>    <d>        <da>daaaadda>        <db>dbbbbddb>        <dc>dccccddc>    d>body>

我现在要获取XML数据中的b属性的值和dc属性的值,SQL可以这样写:

select  extractvalue(xmltype(a.remark), '/body/b') as b,  extractvalue(xmltype(a.remark), '/body/d/dc') as dcfrom  table1 a

查询结果:
xml结果

2.2 MySQL数据库中获取XML某个标签的属性值

Oracle数据库提供了一个函数:extractvalue(变量1,变量2)
- 变量1:存储xml格式的列字段
- 变量2:要获取的XML属性的层级(要以/开头标识
**注意:**下面我们进行测试(xml的测试数据同上
我现在要获取XML数据中的b属性的值和dc属性的值,SQL可以这样写:

select  extractvalue(a.remark, '/body/b') as b,  extractvalue(a.remark, '/body/d/dc') as dcfrom  table1 a

查询结果:
mysql中Xml标签属性值

3、总结

通过对比不难发现,MySQL和Oracle数据库中获取JSON属性值和XML标签属性值的方式大同小异。
当然我们也可以结合实际情况去组合使用,比如在JSON格式中包含xml格式,则需要嵌套方法进行获取JSON格式中的XML的标签属性值。大家可根据自己的应用场景自行组合使用!

如果该篇文章对大家有帮助,可以支持并关注,(个人经验总结,如有更好的方式方法,大家可评论留言交流!)
祝大家的技术日日新,苟日新!

来源地址:https://blog.csdn.net/qq_42320934/article/details/129275352

您可能感兴趣的文档:

--结束END--

本文标题: Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值

本文链接: https://www.lsjlt.com/news/406307.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值
    文章目录 Oracle、MySQL数据库获取JSON属性值、获取XML标签属性值1、获取JSON格式的某个属性值1.1 Oracle数据库中获取JSON某个属性值1.2 MySQL数据库中获取...
    99+
    2023-09-13
    数据库 oracle mysql json xml
  • java怎么解析xml获取标签属性值
    在Java中,可以使用DOM(Document Object Model)解析XML并获取标签的属性值。以下是一个简单的示例代码:`...
    99+
    2023-09-29
    java xml
  • js如何获取标签元素data-*属性值
    这篇文章主要介绍“js如何获取标签元素data-*属性值”,在日常操作中,相信很多人在js如何获取标签元素data-*属性值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js如何获取标签元素data-*属性值...
    99+
    2023-06-30
  • java怎么根据属性名获取属性值
    在 Java 中,可以使用反射来根据属性名获取属性值。下面是一个示例代码:```javaimport java.lang.refle...
    99+
    2023-08-16
    java
  • mysql怎么获取表中属性值
    mysql获取表属性值的方法查询数据表中所有字段的属性select * from information_schema.columnswhere table_schema= '数据库库名' and table_name ...
    99+
    2022-10-25
  • js获取标签元素data-*属性值的4种方法
    目录方式一:dataset方式二: getAttribute/setAttribute/removeAttribute方法三:jQuery.attr方法四:jQuery.data前言...
    99+
    2022-11-13
  • jquery怎么根据属性值获取对象
    要根据属性值获取对象,可以使用jQuery的选择器方法。可以使用特定的属性选择器来选择具有特定属性值的元素。例如,如果要根据一个元素...
    99+
    2023-08-17
    jquery
  • JS和jQuery怎么通过this获取html标签中的属性值
    这篇文章主要介绍JS和jQuery怎么通过this获取html标签中的属性值,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码如下所示:<html>  &l...
    99+
    2022-10-19
  • python怎么取json数据中某个属性值
    要取JSON数据中某个属性值,你需要先将JSON数据解析为Python的字典或列表。然后,使用字典或列表的索引或键来访问属性值。以下...
    99+
    2023-09-22
    python json
  • Java如何取掉json数据中值为null的属性字段
    目录取掉json数据中值为null的属性字段用注解的方式放在标记类或者属性或者在配置文件中添加全局配置json返回隐藏null值的字段取掉json数据中值为null的属性字段 @Js...
    99+
    2022-11-13
  • C3P0属性设置和数据库连接池的获取
    在C3p0构建时,有驱动相关信息及数据库连接池相关的属性设置,及连接的获取,今天我们先来看一下,驱动相关信息及数据库连接池相关的属性设置,在连接的获取。 从下面几句开始, Java代码&...
    99+
    2022-10-18
  • PHP数据库学习之如何设置与获取PDO属性
    本篇内容主要讲解“PHP数据库学习之如何设置与获取PDO属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP数据库学习之如何设置与获取PDO属性”吧!接下来就来了解一下怎样设置与获取PDO属...
    99+
    2023-06-25
  • js数组对象里面如何获取某个属性值相等的对象
    目录js数组对象里面获取某个属性值相等的对象js获取两个数组及数组对象中相同和不相同的值总结js数组对象里面获取某个属性值相等的对象 例: var outArr=[ {"name"...
    99+
    2023-05-16
    js数组对象 js属性值 js获取属性值对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作