【问题标题】:Get size of LONG RAW data column in ORACLE获取 ORACLE 中 LONG RAW 数据列的大小
【发布时间】:2017-02-27 03:52:43
【问题描述】:

我是 Oracle 的新手。我想获取 LONG RAW 列中二进制数据存储的大小,我执行此查询

SELECT LENGTH(BINARY_DATA) FROM MY_DATATABLE WHERE ID = 58;

但我得到错误

ORA-00932: inconsistent datatypes: expected NUMBER got LONG BINARY

我的查询有什么问题? 谢谢。

【问题讨论】:

  • 不要使用 LONG 数据类型。 Oracle 很久以前就建议迁移到 LOB
  • 我为2001年创建的系统工作,无法迁移,因为无法更改数据结构^^!
  • LOB 是在 1998 年发布的 Oracle 8i 中引入的。
  • 我认为您不会为这个问题找到一个好的解决方案。您可以查看here 看看是否有帮助,但是时候升级了。
  • 可以改变数据结构;您(或其他人)选择不这样做。

标签: oracle


【解决方案1】:

仅单字节 LOB 支持 LENGTHB 函数。它不能与多字节字符集中的 CLOB 和 NCLOB 数据一起使用。

LENGTH() 期望 CHAR 作为它的参数。

文档:LENGTH

【讨论】:

  • 我的数据类型 LONG RAW 的任何解决方案?
猜你喜欢
  • 1970-01-01
  • 2018-01-06
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多