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.