Oracleでblobサイズを見つけるためのdbms_lob.getlength()とlength()


81

私はから同じ結果を得ています

select length(column_name) from table

なので

select dbms_lob.getlength(column_name) from table

ただし、この質問への回答は、の 使用を支持しているようですdbms_lob.getlength()

使用するメリットはありますdbms_lob.getlength()か?

それが答えを変えるなら、私はすべてのブロブが.bmpイメージであることを知っています(これまでブロブで働いたことはありません)。

回答:


115

lengthdbms_lob.getlengthに適用したときの文字数を返すCLOB(文字LOB)。BLOB(Binary LOB)に適用すると、dbms_lob.getlengthバイト数が返されます。これは、マルチバイト文字セットの文字数とは異なる場合があります。

ドキュメントにはlengthBLOBに適用したときに何が起こるかが指定されていないため、その場合は使用しないことをお勧めします。BLOBのバイト数が必要な場合は、を使用しますdbms_lob.getlength


9
または、CLOBまたはNCLOBではなくBLOBを使用していることがわかっている場合は、lengthb(BLOB)を使用してBLOBのバイト数を取得します。
Janek Bogucki 2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.