1. ホーム
  2. sql

[解決済み] dbms_lob.getlength() と length() による Oracle の blob サイズの比較

2023-06-12 02:29:07

質問

と同じ結果が出ています。

select length(column_name) from table

として

select dbms_lob.getlength(column_name) from table

しかし この質問 を使うのが良いようです。 dbms_lob.getlength() .

を使用することに何か利点はあるのでしょうか? dbms_lob.getlength() ?

もしそれが答えを変えるなら、私はすべてのblobが.bmp画像であることを知っています(以前にblobを扱ったことはありません)。

どのように解決するのですか?

length そして dbms_lob.getlength に適用すると、文字数を返します。 CLOB (文字LOB)に適用されます。に適用された場合、文字数を返します。 BLOB (バイナリLOB)に適用されます。 dbms_lob.getlength はバイト数を返しますが、これはマルチバイト文字セットにおける文字数とは異なる場合があります。

を適用したときにどうなるかはドキュメントに明記されていないので length を適用した場合にどうなるかはドキュメントに明記されていないので、そのような場合には使用しないことをお勧めします。BLOB のバイト数が欲しい場合は dbms_lob.getlength .