热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

在Oracle的XMLType里查询数据

在Oracle的XMLtype的查询操作:查询对象样例:表名:etab,第一列为varchar2()名称为id,第二列为xmltype列名为xmlcol,其中一行

在Oracle的XMLtype的查询操作: 查询对象样例:表名:etab,第一列为varchar2() 名称为id,第二列为xmltype 列名为xmlcol,其中一行

在Oracle的XMLtype的查询操作:

查询对象样例:表名:etab,第一列为varchar2() 名称为id,第二列为xmltype 列名为xmlcol,

其中一行为,id字段的值为:aa

xmlcol字段的值为:

  • 1:extract

    作用:提取出XML串中指定节点的值(包含节点两端的标记),结果还是为clob的格式

    可用column.extract('//xxx/xx'),或extract(column,'//xxx/xx')的语法

    例如:
    select t.id,t.xmlcol.extract('//ProductMetaData/SensorID') from etab t
    select t.id,extract(t.xmlcol,'//ProductMetaData/SensorID') from etab t

    提取出的内容为(仍为CLOB的格式): BRA

    还可以在之后加上/text()获取其内部文字(结果还是为clob的格式)

    例如:

    select t.id,t.xmlcol.extract('//ProductMetaData/SensorID/text()') from etab t

    提取出的内容为(仍为CLOB的格式):BRA

    或在之后加上/@att获取节点的属性值

    例如:

    select t.id,t.xmlcol.extract('//ProductMetaData/SesorID/@aa') from etab t

    提取出的内容为(仍为CLOB的格式):ExAttr

    对于查找到的结果,可以使用getnumberval()或getstringval()函数将结果转化为需要的文字或数字

    例如:

    select t.id,t.xmlcol.extract('//ProductMetaData/SensorID/text()').getstringval() from etab t

    提取出的内容为(文本格式):BRA

    select t.id,t.xmlcol.extract('//ProductMetaData/OrbitID/text()').getnumberval() from etab t

    提取出的内容为(数字格式,可用于条件判断,,例如大于小于):448

    提取内容作为条件判断:

    select t.id from etab t where t.xmlcol.extract('//ProductMetaData/OrbitID/text()').getnumberval() > 440

    2.extactrvalue

    作用:提取出XML串中指定节点的值(不包含节点两端的标记),结果为文本格式(如果值是数字的话,好像也可以认为是数字格式,也能用于查询里的条件判断)

    只能使用extractvalue(column,'//xxx/xx')的格式

    例如:

    select t.id,extractvalue(t.xmlcol,'//ProductMetaData/SensorID') from etab t

    提取出的内容为文本格式的PMS

    select t.id from etab t where t.xmlcol.extract('//ProductMetaData/OrbitID/text()').getnumberval() > 2440

    linux

    推荐阅读
    • 告别酷暑,Python带你探寻全国最热城市
      随着九月的到来,炎热的夏季似乎终于画上了句号。对于许多人来说,夏天不仅仅是高温的代名词,更是对户外活动的一种限制。本文将通过Python编程技术,带领读者探索并找出今年夏季全国最热的城市。 ... [详细]
    • 本文详细介绍了 Android 开发中显式 Intent 和隐式 Intent 的区别及应用场景,包括如何通过显式 Intent 在同一应用内切换 Activity,以及如何利用隐式 Intent 实现跨应用的功能调用。 ... [详细]
    • 本文介绍如何创建一个简单的Android桌面小部件,通过显示两个文本框来展示基本功能。提供代码下载链接及详细步骤。 ... [详细]
    • 模型-视图-控制器(MVC)模式在软件开发中极为普遍,不仅被广泛应用于Web框架,也在GUI客户端中得到应用。然而,这种模式的实际应用可能并非完全遵循原初的设计理念,有时更像是一个营销概念。本文将深入探讨MVC及其相关模式MVP、MVVM和MVA的异同,以及它们各自的应用场景。 ... [详细]
    • 初学者必备:iBATIS入门指南与常见问题解决
      本文旨在为iBATIS初学者提供一份详细的入门指南,并针对官方文档中示例不足的问题提出解决方案。适合零基础学习者。 ... [详细]
    • mybatis相关面试题 ... [详细]
    • 使用URLHttpConnection获取并展示图片至ImageView的方法
      本文介绍如何通过URLHttpConnection方式从网络加载图片,并将其显示在Android应用的ImageView组件上。包括布局文件和Java代码的具体实现。 ... [详细]
    • JobScheduler5.0源码分析
      0.JobScheduler执行代码mJobScheduler(JobScheduler)getSystemService(Context.JOB_SCHEDULER_SERVICE); ... [详细]
    • 获取年月日,之前的日期不能选择日历cCalendar.getInstance();获取系统的工具类【可以获取时间】DatePickerDialogdate ... [详细]
    • 在使用Postman进行接口测试时,如果携带大量参数,可能会遇到‘请求头过大’的问题。本文将详细介绍如何调整Tomcat的请求头大小限制,并提供有效的路径映射解决方案,以避免因路径配置不当导致的404错误。 ... [详细]
    • 本文探讨了在 JavaFX 应用程序中使用 TableView 组件时遇到的滚动条问题,特别是当表格数据变化时,水平滚动条无法自动复位至初始位置的情况。 ... [详细]
    • 使用Python模拟登录教务系统抓取成绩并分析存储
      本文详细介绍如何使用Python编程语言模拟登录学校教务系统,抓取学生的成绩信息,并进行数据分析和可视化处理,最终将数据存储到MySQL数据库中。 ... [详细]
    • React Native 开发者如何高效替换 Android 图标与布局资源
      针对未接触过 Android 开发的 React Native 开发者,本文提供了详细的指南,帮助他们了解如何轻松替换 Android 应用中的图标和布局资源,包括对 APK 结构的基本认识及多种替换方法。 ... [详细]
    • Hibernate入门指南:单表数据库操作详解
      本文介绍了Hibernate作为全面的ORM框架的基础知识,并详细讲解了在MyEclipse环境中配置Hibernate以及进行基本的数据库单表操作的方法,包括增删改查等常见操作。 ... [详细]
    • 1.选择一个翻译页面,我选择的是有道词典(http:dict.youdao.com)2.随便输入一个英语单词进行翻译,然后查看源文件,找到 ... [详细]
    author-avatar
    无谓__
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有