0

我正在尝试从 oracle 中的 XML 列中提取值。我的查询如下:

select extractValue(COLUMN_NAME, '/parent/element1/')
from   TABLE_NAME where id = 111111;

但是,我的 SQL Developer 中出现以下错误:

ORA-00932: 不一致的数据类型: 预期 - 得到 - 00932. 00000 - “不一致的数据类型: 预期 %s 得到 %s”

附加信息:

  1. 我要查询的列类型是:VARCHAR2(2000 BYTE)
  2. 列中的 XML 内容非常简单,下面是一个片段:
<parent>
   <element1>value</element1>
   <element2>value</element2>
   <element3>value</element3>
</parent>
4

1 回答 1

4

ExtractValue函数只能在 XML 数据类型上调用。尝试使用该XMLTYPE函数将您的 VARCHAR2 转换为 XML 类型:

select extractValue(XMLTYPE(COLUMN_NAME), '/parent/element1/')
from   TABLE_NAME where id = 111111;
于 2013-08-06T17:02:23.580 回答