Oracle 长原始问题

Posted

技术标签:

【中文标题】Oracle 长原始问题【英文标题】:Oracle Long Raw Problem 【发布时间】:2010-04-15 09:20:41 【问题描述】:

从 T_FILE 中选择 utl_raw.cast_to_varchar2(DCFILE) hexchar

ORA-00997: 非法使用 LONG 数据类型

select  to_char(DOC_FILE) hexchar from T_DOC_FILE

ORA-00932:不一致的数据类型:预期 CHAR 得到 LONG BINARY

我的列类型 long raw,如何选择 varchar2 ?

【问题讨论】:

也许这会有所帮助:***.com/questions/426079/… 【参考方案1】:

早在十多年前,Oracle 就在 8.0 版中引入了他们的 LOB 数据类型。 LONG 和 LONG RAW 自千禧年之前就已被弃用(分别支持 CLOB 和 BLOB),正是因为使用 LONG 会让人头疼,而 LONG RAW 则加倍如此,正如您现在所发现的那样。

您到底想达到什么目的?你的逻辑似乎很混乱。 LONG RAW 用于存储二进制数据(图像、文档等),因此将其呈现为文本不太可能产生令人满意的结果。

【讨论】:

以上是关于Oracle 长原始问题的主要内容,如果未能解决你的问题,请参考以下文章

查询长原始数据类型

Oracle - 查询优化 - 查询运行时间长

如何更新 Oracle 中的“长”数据类型?

将字节数组写入oracle中的原始列

在 oracle 临时表中插入 1000 多个长数字

记一次基于CBO的Oracle SQL调优