Oracle extractValue函数不起作用

时间:2013-08-06 16:48:56

标签: sql oracle

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

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

但是,我在SQL Developer中遇到以下错误:

  

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

其他信息:

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

1 个答案:

答案 0 :(得分:1)

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

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