当前位置: 首页 > 面试题库 >

使用来自Oracle数据库的SQL从XML Clob提取数据

袁弘方
2023-03-14
问题内容

我想从具有存储为clob的XML列为testclob的表TRAPTABCLOB中使用sql提取Decision的值。

样本XML如下。

        <?xml version="1.0" encoding="UTF-8"?>
<DCResponse>
    <Status>Success</Status>
    <Authentication>
        <Status>Success</Status>
    </Authentication>
    <ResponseInfo>
        <ApplicationId>5701200</ApplicationId>
        <SolutionSetInstanceId>
                        63a5c214-b5b5-4c45-9f1e-b839a0409c24
                    </SolutionSetInstanceId>
        <CurrentQueue />
    </ResponseInfo>
    <ContextData>
        <!--Decision Details Start-->
        <Field key="SoftDecision">A</Field>
        <Field key="**Decision**">1</Field>
        <Field key="NodeNo">402</Field>
        <Field key="NodeDescription" />
        <!--Decision Details End-->
        <!--Error Details Start-->
        <Field key="ErrorResponse">
            <Response>
                <Status>[STATUS]</Status>
                <ErrorCode>[ERRORCODE]</ErrorCode>
                <ErrorDescription>[ERRORDESCRIPTION]</ErrorDescription>
                <Segment>[SEGMENT]</Segment>
            </Response>
        </Field>
        <Field key="ErrorCode">0</Field>
        <Field key="ErrorDescription" />
    </ContextData>
</DCResponse>

问题答案:

尝试

SELECT EXTRACTVALUE(xmltype(testclob), '/DCResponse/ContextData/Field[@key="Decision"]') 
FROM traptabclob;

这是一个sqlfiddle演示



 类似资料:
  • 我有一个表格,我需要提取一些信息。这个表有一个oracle spatial (MDSYS。SDO_GEOMETRY)列,从中我也需要一些数据。 我从一个简单的查询开始,如下所示: 在那之后,我能够循环结果以提取空间列中的数据: 位置图。sdo_ 我需要最后2个值。我可以通过将查询更改为以下内容来实现: 在第一次查询的每一行上循环以从POSITIONMAP列中提取数据当然不是很好的性能友好,因此我的

  • 问题内容: 我正在尝试创建一个用于在PHP上执行oracle sql语句的类。 这是我的index.php,我正在尝试调用我的函数 和我的dbcontrol.php用于我的功能 我不确定似乎有什么问题。但是每次我运行这个。页面上未显示任何内容。没有结果,没有数据。但是我确信数据库中有数据。 问题答案: 您总是得到空白页的原因是: oci_num_rows()函数不会返回您可能认为的所选行数。它返回

  • 本文向大家介绍Oracle数据库中SQL开窗函数的使用,包括了Oracle数据库中SQL开窗函数的使用的使用技巧和注意事项,需要的朋友参考一下 开窗函数:在开窗函数出现之前存在着很多用 SQL 语句很难解决的问题,很多都要通过复杂的相关子查询或者存储过程来完成。为了解决这些问题,在 2003 年 ISO SQL 标准加入了开窗函数,开窗函数的使用使得这些经典的难题可以被轻松的解决。目前在 MSSQ

  • 一切正常,但DatabaseReference无法获取数据,这就像是忽略了我的代码运行,就像我的internet无法运行一样,请帮助我,我是这个社区的新手,下面是我的代码和图片。 以前它是工作的,但由于我只是更改了一些代码,使只有currentVersion>=vCode,这样即使数据库中的值是 firebase数据库映像 mainactivity.java manifest.xml 依赖关系

  • 问题内容: 我正在尝试通过它提供的数据库学习Oracle SQL。我在某处发现了要完成的任务。数据库结构由Oracle提供: 现在,我想选择在本部门和薪水最高的员工。 我写了这样的东西: 但是它不能正常工作。输出为: 注意行: 同一部门有2名员工。 你能指出我的错误吗? 问题答案: 您没有过滤查询,这就是为什么要显示所有员工的原因。 这将过滤收入低于其部门/职等最高薪资的员工: 您仍然会发现重复的