2013-08-06 105 views
0

我想从oracle中的XML列中提取值。我的查询低于:Oracle extractValue函数不能正常工作

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

不过,我得到下面的错误在我的SQL开发人员:

ORA-00932:不一致的数据类型:预期 - 了 - 00932. 00000 - “不一致的数据类型:预计%S拿到%的”

附加信息:

  1. 的我想查询columnn类型:VARCHAR2(2000字节)
  2. 在列中的XML内容非常简单,一个片段如下:
<parent> 
    <element1>value</element1> 
    <element2>value</element2> 
    <element3>value</element3> 
</parent> 

回答

0

ExtractValue功能仅被调用XML数据类型。尝试使用XMLTYPE函数将VARCHAR2转换为XML类型:

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