当前位置: 首页 > 知识库问答 >
问题:

使用SQL从xml列检索xml值

姬实
2023-03-14

我试图检索xml值从一列数据存储在xml格式使用下面的查询在OracleSQLDeveloper.但是得到这个错误:

ORA-00932:不一致的数据类型:应为-got-00932。00000-“不一致的数据类型:应为%s获得%s”*原因:

列的数据类型为CLOB

 SELECT id, 
   extractValue(e.event_data, '/DocumentRequest/RequestUserName')
   "Number of Docks"
   FROM table e

如:

<DocumentRequest>
    <RequestUserName>XXXX</RequestUserName>
    <RequestDateTime>XXXX</RequestDateTime>
    <DocSequence>1</DocSequence>

共有1个答案

堵宪
2023-03-14

如果XML存储为CLOB,则采用XMLTYPE:

SELECT id,
       EXTRACTVALUE( XMLTYPE(e.event_data), '/DocumentRequest/RequestUserName') AS "Number of Docks"
  FROM table e;

使用XMLTABLE的查询:

SELECT id,
       col1 AS "Number of Docks"
  FROM table e, XMLTABLE( '/DocumentRequest'
                  PASSING XMLTYPE(e.event_data)
                  COLUMNS col1 PATH 'RequestUserName' );
 类似资料:
  • 问题内容: 如果我有: 如何使用T-SQL获得元素名称“名称”和“内容”的列表? 到目前为止,我得到的最好成绩是: 但是,当然,我无法解决这个问题。 问题答案: 实际上,对不起,我得到的最好的是: 猜猜我回答了我自己的问题…

  • 问题内容: 这是我第一次使用SAXParser(我在Android中使用它,但我认为这对这个特定问题没有影响),并且我正尝试从RSS feed中读取数据。到目前为止,它在很大程度上对我来说非常有用,但是当它到达包含HTML编码文本(例如)的标签时,我遇到了麻烦。该方法仅将读为,然后将下一组字符视为一个单独的实体,而不是立即获取全部内容。我希望它按原样阅读,而无需实际翻译HTML。我在文档处理程序中

  • 问题内容: 我是XML的新手。我想根据请求名称阅读以下XML。请帮助我了解如何以Java读取以下XML 问题答案: 如果你的XML是字符串,则可以执行以下操作: 如果你的XML在文件中,Document document则将被实例化为: 在document.getDocumentElement()返回你是文档的文档元素节点(你的情况 )。 一旦有了rootElement,就可以访问元素的属性(通过

  • 问题内容: 我有一个脚本,可以从SQL数据库获取XML文件。这是我的操作方法: 但是,解析不适用于特定的数据库行,尽管当我将该字段的内容复制到单独的文件中并从文件中进行解析时,解析仍然有效。经过两天的“反复试验”,我确定了主要问题。似乎以这种方式查询短的XML文件不会引起任何问题,但是当我查询较大的文件时,该字符串在65534个字符后被砍掉。因此,XML文件的末尾丢失了,并且该文件无法解析。 我认

  • 我试图从XML类型列中检索某个节点。 我的代码在本地环境中的Tomcat中运行良好,但当我创建EAR文件并将其部署到WeSphere Application Server中时。我得到一个错误: 引起:java.lang.NoClassDefFoundError:oracle.xdb.XMLType 在oracle.jdbc.driver.NamedTypeAccessor.getOracleObj

  • 问题内容: 我有两个单独的表TV和Receiver,它们使用FOR XML PATH命令来构建XML。我的问题是,我想将TV XML Build的输出与Receiver XML Build的输出结合起来以创建一个XML输出。 因此,我会有类似的内容(允许我在FilterData根目录中将电视标签和接收器标签分开): 问题是当我构建查询以输出此XML时 和 我不确定如何将它们组合成示例: 问题答案: