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() 있습니까?

답이 바뀌면 모든 blob이 .bmp 이미지라는 것을 알고 있습니다 (이전에 blob으로 작업 한 적이 없음).

답변:


115

length그리고 dbms_lob.getlengthA를 적용 할 때 문자의 수를 반환 CLOB (문자 LOB). BLOB (Binary LOB)에 적용하면 dbms_lob.getlength바이트 수를 반환합니다. 이는 멀티 바이트 문자 집합의 문자 수와 다를 수 있습니다.

문서에는 lengthBLOB에 지원할 때 발생하는 작업이 명시되어 있지 않으므로이 경우 사용하지 않는 것이 좋습니다 . BLOB의 바이트 수를 원하는 경우 dbms_lob.getlength.


9
또는 CLOB 또는 NCLOB가 아닌 BLOB로 작업하고 있음을 알고있는 경우 lengthb (BLOB)를 사용하여 BLOB의 바이트 수를 가져옵니다.
Janek Bogucki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.