dbms_lob.getlength () против length (), чтобы найти размер BLOB-объектов в Oracle - PullRequest
70 голосов
/ 03 марта 2010

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

select length(column_name) from table

в

select dbms_lob.getlength(column_name) from table

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

Есть ли польза от использования dbms_lob.getlength()?

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

1 Ответ

100 голосов
/ 03 марта 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...