Oracle常用的数据类型

  • 格式:pdf
  • 大小:77.96 KB
  • 文档页数:2

Oracle常⽤的数据类型

(0) Oracle 数据类型

varchar2:可变长字符数据

char(size):定长字符数据

number(p,s):可变长数值数据

date:⽇期型数据

long:可变长字符数据,最⼤可达到2G

clob:字符数据,最⼤可达到4G

RAW(LONG RAW):原始的⼆进制数据

BLOB:⼆进制数据,最⼤可达到4G

BFILE:存储外部⽂件的⼆进制数据,最⼤可达到4G

ROWID:⾏地址

(1)字符类型

① • CHAR:⼀个定长字符串,当位数不⾜⾃动⽤空格填充来达到其最⼤长度。如⾮NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2,000字节的信息。

② • VARCHAR2:⽬前这也是VARCHAR 的同义词。这是⼀个变长字符串,与CHAR 类型不同,它不会⽤空格填充⾄最⼤长度。VARCHAR2(12)可能包含0~12字节的信息。VARCHAR2最多可以存储4,000 字节的信息。

CHAR和VARCHAR2的⽐较:CHAR(4) “A“ 实际在数据库中存储为"A “,“ABCDE”超长报错VARCHAR2(4) “A” 存储的还是“A”,“ABCDE”超长报错汉字:每个汉字占多少字节,要看具体的编码⽅式,如UTF-8(1-3字节)、GB2312(2字节)、GBK(2字节)、GB18030(1、2、4字节)

(2)数字类型

①• NUMBER:该数据类型能存储精度最多达38位的数字。每个数存储在⼀个变长字段中,其长度在0~22字节之间。的NUMBER类型精度很⾼, 远远⾼于许多编程语⾔中常规的FLOAT和DOUBLE类型。

NUMBER( p,s ) p表⽰精度(总长度) s表⽰⼩数位置且四舍五⼊

NUMBER(10,3) 10是总长度,3是⼩数位数的长度123.456123.4567 :将存储为123.45712345679.899 :精度超长了,10是总长度,3是⼩数位, 整数位为10-3=7位NUMBER(10)==NUMBER(10,0) java.lang.IntegerNUMBER(19)==NUMBER(19,0) java.lang.Long

(3)⽇期类型

①• DATE:⼀个7字节的定宽⽇期/时间数据类型。其中总包含7个属性,包括:世纪、世纪中哪⼀年、⽉份、⽉中的哪⼀天、⼩时、分钟和秒。

②• TIMESTAMP:⼀个7 字节或12.字节的定宽⽇期/时间数据类型。它与DATE 数据类型不同,因为TIMESTAMP 可以包含⼩数秒(fractional second);带⼩数秒的TIMESTAMP 在⼩数点右边最多可以保留9位。

(4)⼆进制及⼤⽂本数据

① • BLOB: (binary large object)在Oracle9i及以前的版本中, 这种数据类型允许存储最多4GB的数据, 在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块⼤⼩)字节的数据。BLOB包含不需要进⾏字符集转换的“⼆进制“数据,如果要存储电⼦表格、字处理⽂档、图像⽂件等就很适合采⽤。② • CLOB:(Character Large Object)在Oracle9i及以前的版本中, 这种数据类型允许存储最多4GB的数据, 在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块⼤⼩)字节的数据。CLOB包含要进⾏字符集转换的信息。这种数据类型很适合存储纯⽂本信息。