从DB2和Oracle角度看,CLOB和BLOB之间有区别吗?


102

这两种数据类型让我着迷。根据Oracle文档,它们的显示方式如下:

BLOB:长度可变的二进制大对象字符串,最长可为2GB(2,147,483,647)。主要用于保存非传统数据,例如语音或混合媒体。BLOB字符串不与字符集关联,就像FOR BIT DATA字符串一样。

CLOB:可变长度字符大对象字符串,最长可为2GB(2,147,483,647)。CLOB可以存储单字节字符串或多字节基于字符的数据。CLOB被视为字符串。

我不知道,从DB2和Oracle角度来看两者之间是否有区别?我的意思是,DB2 CLOB和Oracle CLOB之间以及DB2 BLOB和Oracle BLOB之间有什么区别?DB2和Oracle中的最大大小是多少?仅2 GB吗?

Answers:


40

它们可以被认为是等效的。大小限制是相同的:

  • CLOB的最大长度(以字节或OCTETS为单位)2147483647
  • BLOB的最大长度(以字节为单位)2147483647

还有DBCLOB,用于双字节字符。

参考文献:


9
“它们可以被视为等同” 的大小。不同类型的包含数据上的行为可能有很大不同,可能应该包含在您的答案中。提示在首字母缩写词的首字母中。
underscore_d

110

BLOB用于二进制数据(视频,图像,文档等

CLOB用于大型文本数据(text

MySQL 2GB的最大大小

Oracle 128TB的最大大小


2
我担心为什么这个答案的声誉相对较低。一个完美而简单的答案
sns

7
@sns,因为这是一个很晚的答案。该问题已发布到近4年前。
Moira

65

BLOB主要用于保存非传统数据,例如图像,视频,语音或混合媒体。CLOB旨在保留基于字符的数据。


4
当您必须重新编码或传输它们时,区别显而易见。二进制对象不应在传输中转换。字符对象可以包含全角字符。二进制对象可能是不可打印的。所有字符都是二进制的,一旦您离开数据库,或者离开平台时,情况不一定相反。
mckenzm '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.