我有一个表(AKADMIN),其中有一个名称为 XML 的 XMLTYPE 列。
我想在此列中使用 getClobVal()。
select t.xml.getClobVal() /**/
, t.xml.getClobVal() --
, t.xml.getClobVal() as clobval
, t.xml.getClobVal()
from akadmin t where ROWID = 'AAAQc6AAIAAAADDAAA' ;
在结果集中,前 4 列给出 CLOB 类型,但第五列给出 XMLTYPE。我必须在 getClobVal() 之后键入任何注释或别名以更正结果的 (CLOB) 类型。为什么?
另一个问题,当我离开 tablename 的别名时:
select xml.getClobVal()
from akadmin t where ROWID = 'AAAQc6AAIAAAADDAAA' ;
它抛出一个
ORA-00904 string: invalid identifier
嗯...有人有任何想法吗?
关于环境的附加信息:
Oracle 数据库 11g 企业版 11.2.0.4.0 版;
PL/SQL 开发人员 10.0.5.1710
但是在我们的 Java 应用程序中通过 OJDBC6 尝试了这个,结果相同
最佳答案
您应该将 xml 放在括号中:
select (xml).getClobVal() from akadmin;
为我工作
关于oracle - 神秘的 getClobVal(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26465260/