Je reçois les mêmes résultats de
select length(column_name) from table
comme
select dbms_lob.getlength(column_name) from table
Cependant, les réponses à cette question semblent préférer utiliser dbms_lob.getlength()
.
Y a-t-il un avantage à utiliser dbms_lob.getlength()
?
Si cela change la réponse, je sais que tous les blobs sont des images .bmp (jamais travaillé avec des blobs auparavant).
length
et dbms_lob.getlength
renvoie le nombre de caractères appliqué à un [~ # ~] clob [~ # ~] (caractère LOB). Appliqué à un blob [~ # ~] [~ # ~] (LOB binaire), dbms_lob.getlength
renverra le nombre d'octets, qui peut différer du nombre de caractères d'un jeu de caractères multi-octets.
Comme la documentation ne spécifie pas ce qui se passe lorsque vous appliquez length
sur un BLOB, je vous déconseille de l'utiliser dans ce cas. Si vous voulez le nombre d'octets dans un BLOB, utilisez dbms_lob.getlength
.