ORACLE 数据类型
1) 字符类型
CHAR(n):
- 参数: n = 1 ~ 2000 字节
- 说明: 一个定长字符串,当位数不足自动用空格填充来达到其最大长度。如非NULL的CHAR(n)总是包含n字节信息。CHAR字段最多可以存储2,000字节的信息。不指定n时,默认一个字节长度(一个汉字2个字节)
VARCHAR2(n):
- 参数: n = 1 ~ 4000 字节
-
说明: 目前这也是VARCHAR 的同义词。可变长字符串,与CHAR 类型不同,它不会用空格填充至最大长度,VARCHAR2(n)可能包含0~n字节的信息。VARCHAR2最多可存储4000 字节的信息。可存储数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。
CHAR和VARCHAR2的比较
2) 数字类型
NUMBER(p,s)
- 参数: p = 1 ~38 s = -84 ~ 127
- 说明: 可变长数值列,该数据类型能存储精度最多达38位的数字。每个数存储在一个变长字段中,其长度在0~22字节之间。可存储0 正值 负值,其中p是所有有效数字的位数,s是所有小数点以后的数字的位数
NUMBER(10,3) 10是总长度,3是小数位数的长度
123.456
123.4567 :将存储为123.457
12345679.899 :精度超长了,10是总长度,3是小数位, 整数位为10-3=7位
NUMBER(10)==NUMBER(10,0) java.lang.Integer
NUMBER(19)==NUMBER(19,0) java.lang.Long
3) 日期类型
DATE
一个7字节的定宽日期/时间数据类型。其中总包含7个属性,包括:世纪、世纪中的年、月、天、时、分、秒。默认格式:DD-MON-YY,如20-5-13 表示2013年5月20号
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包含要进行字符集转换的信息。这种数据类型很适合存储纯文本信息。