СУБД лоб.getlength () и length (), чтобы найти размер blob в oracle

Я получаю те же результаты из

select length(column_name) from table

as

select dbms_lob.getlength(column_name) from table

ответы на этот вопрос кажется, предпочитают использовать dbms_lob.getlength().

есть ли какая-либо польза от использования dbms_lob.getlength()?

если это изменит ответ ,я знаю, что все капли.изображения bmp (никогда раньше не работали с blobs).

1 ответов


length и dbms_lob.getlength возвращает количество символов при применении к CLOB (символ LOB). При применении к BLOB (двоичный LOB),dbms_lob.getlength возвращает количество байтов, которое может отличаться от количества символов в многобайтовой кодировки.

поскольку в документации не указано, что происходит при применении length на BLOB, я бы посоветовал не использовать его в этом случае. Если вы хотите количество байтов в BLOB, используйте dbms_lob.getlength.