【问题标题】:dbms_lob.getlength() vs. length() to find blob size in oracledbms_lob.getlength() 与 length() 在 oracle 中查找 blob 大小
【发布时间】:2023-04-06 10:40:02
【问题描述】:

我从

得到相同的结果
select length(column_name) from table

作为

select dbms_lob.getlength(column_name) from table

然而,答案 this question 似乎更喜欢使用 dbms_lob.getlength()

使用dbms_lob.getlength() 有什么好处吗?

如果它改变了答案,我知道所有的 blob 都是 .bmp 图像(以前从未使用过 blob)。

【问题讨论】:

    标签: sql oracle blob


    【解决方案1】:

    lengthdbms_lob.getlength 在应用于 CLOB(字符 LOB)时返回字符数。当应用于 BLOB(二进制 LOB)时,dbms_lob.getlength 将返回字节数,这可能与多字节字符集中的字符数不同。

    由于文档没有说明在 BLOB 上应用 length 时会发生什么,我建议不要在这种情况下使用它。如果您想要 BLOB 中的字节数,请使用 dbms_lob.getlength

    【讨论】:

    • 或者,如果您知道您正在使用 BLOB 而不是 CLOB 或 NCLOB,请使用 lengthb(BLOB) 来获取 BLOB 中的字节数。
    猜你喜欢
    • 2011-01-18
    • 2021-08-28
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 2019-09-05
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多