一、請問clob 和blob是什么意思?
答:1,他們都是oracle數據庫中的大對象數據類型,oracle提供專門的包對其操作。
2,blob、clob、nclob 三種大型對象(LOB),用來保存較大的圖形文件或帶格式的文本文件,如Microsoft Word文檔,以及音頻、視頻等非文本文件,最大長度是4GB。
LOB有幾種類型,取決於你使用的字節的類型,Oracle 8i實實在在地將這些數據存儲在數據庫內部保存。
可以執行讀取、存儲、寫入等特殊操作
CLOB(Character Large Object) 用於存儲對應於數據庫定義的字符集的字符數據。(類似於long類型),常用於大文本的存儲;
BLOB(Binary Large Object) 可用來存儲無結構的二進制數據。(類似於row和long row),常用於大圖片的存儲
二、請問LOB的BLOB、CLOB、BFILE有什麽區別,都用在什麽情況?怎樣操作?
答:
BLOB ——內部二進制大對象。
CLOB ——內部字符大對象。
NCLOB ——內部定長多字節字符大對象。
BFILE ——外部二進制文件。
LOB 由兩部分組成:數據(值)和指向數據的指針(定位器)。盡管值與表自身一起存儲,但是一個LOB 列並不包含值,僅有它的定位指針。更進一步,為了使用大對象,程序必須聲 明定位器類型的本地變量。你將在本章后面見到P L / S Q L 接口使用定位器如同操作系統的文件 處理一樣。當LOB(除了BFILE )被創建時,定位器被存放在列中,值被存放在LOB 段中, LOB 段是在數據庫內部表的一部分。當BFILE 被創建時,定位器如同平常一樣存儲在列中
三、blob和clob最大是多少?還是沒有最大限制?
答:它們的最大上限就是4G, Clob可以存儲單字節字符數據,Blob可以存儲無結構的二進制數據
[附加] 不想另開一篇了,就加在這里了,一個關於SQL2000的問題
sql2000中某字段長度不夠為何會填上空格?
答:sql2000 中char型是固定長度的,如固定長度為10,但是只錄入了3個字符,那么剩下7位就要補充空格來填滿。如果,你不想讓他自動補充空格,可以選用 varchar型,這個是實際長度,也很好用,速度也快,PS:oracle中如果可以用varchar2的地方就不要用clob ,因為后者的速度確實不怎么好。
來源:http://blog.163.com/wex660@126/blog/static/241530652011215429224/