我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

文章目录

Oracle、MySQL数据库获取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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

java怎么解析xml获取标签属性值

在Java中,可以使用DOM(Document Object Model)解析XML并获取标签的属性值。以下是一个简单的示例代码:```javaimport javax.xml.parsers.DocumentBuilderFactory;
2023-09-29

js如何获取标签元素data-*属性值

这篇文章主要介绍“js如何获取标签元素data-*属性值”,在日常操作中,相信很多人在js如何获取标签元素data-*属性值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”js如何获取标签元素data-*属性值
2023-06-30

java怎么根据属性名获取属性值

在 Java 中,可以使用反射来根据属性名获取属性值。下面是一个示例代码:```javaimport java.lang.reflect.Field;public class Main {public static void main(St
2023-08-16

js: 获取标签元素data-*属性值的方法

本文介绍了获取标签元素data-*属性值的5种方法:getAttribute()方法、dataset对象、CSSOM、正则表达式和框架(如jQuery)。性能测试表明getAttribute()方法最快。建议优先使用dataset对象,避免使用CSSOM,并根据具体情况考虑使用正则表达式或框架。
js: 获取标签元素data-*属性值的方法
2024-04-02

在 Golang 中解码时如何获取 XML 标签的字符数据和属性值

欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《在 Golang 中解码时如何获取 XML 标签的字符数据和属性值》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更
在 Golang 中解码时如何获取 XML 标签的字符数据和属性值
2024-04-05

java怎么读取xml标签内的属性值

在Java中,可以使用Java内置的XML解析器或第三方库来读取XML标签内的属性值。以下是使用Java内置的XML解析器javax.xml.parsers.DocumentBuilderFactory和org.w3c.dom包来读取XML
java怎么读取xml标签内的属性值
2024-02-29

jquery怎么根据属性值获取对象

要根据属性值获取对象,可以使用jQuery的选择器方法。可以使用特定的属性选择器来选择具有特定属性值的元素。例如,如果要根据一个元素的id属性值获取该元素,可以使用以下代码:```javascriptvar element = $('[id
2023-08-17

python怎么取json数据中某个属性值

要取JSON数据中某个属性值,你需要先将JSON数据解析为Python的字典或列表。然后,使用字典或列表的索引或键来访问属性值。以下是一个示例:```pythonimport json# JSON数据json_data = '{"name"
2023-09-22

PHP数据库学习之如何设置与获取PDO属性

本篇内容主要讲解“PHP数据库学习之如何设置与获取PDO属性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP数据库学习之如何设置与获取PDO属性”吧!接下来就来了解一下怎样设置与获取PDO属
2023-06-25

js数组对象里面如何获取某个属性值相等的对象

这篇文章主要介绍了js数组对象里面如何获取某个属性值相等的对象问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-16

web前端:JS---获取元素计算后的样式属性值 (getComputedStyle)---兼容函数

编程学习网:一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。
web前端:JS---获取元素计算后的样式属性值 (getComputedStyle)---兼容函数
2024-04-23

编程热搜

目录