ORACLE数据类型
Oracle数据库的数据类型与其它的数据库系统相比,它的数据类型不多,Oracle在表示数据方面比其他数据库系统来说要省去许多关键字。Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。其它如日期类型等也简单得多,只DATE就表示日期和时间。下面以列表形式给出各个版本的Oracle系统数据类型的表示方法。下面给出Oracle旧版本的数据类型的目的是让读者了解Oracle的变化,另外就是你在对旧版本进行升级或数据转换时要注意各个版本的差别。
ORACLE5、ORACLE6数据类型
数据类型
|
说明
|
Char
|
可变长字符型,≤254
|
Varchar2
|
可变长字符型,≤2000
|
Number(m,n)
|
数字类型,含整数、小数等
|
Date
|
日期型,含时间,缺省格式为mmm-dd-yyyy hh:mi:ss(占7字节)
|
Long
|
存储大型可变长字符串,≤2GB
|
Raw
|
存储短二进制串,≤2GB
|
Long raw
|
存储长二进制串,≤2GB
|
ORACLE7数据类型
数据类型
|
说明
|
Char
|
定长字符,≤255个字符
|
Varchar
|
变长字符,≤2000个字符
|
Varchar2
|
变长字符,≤2000个字符
|
Number(m,n)
|
数字类型,含整数、浮点、双精度等
|
Long
|
存储大型可变长字符串,≤2GB
|
Raw
|
存储可变短二进制数,≤2000
|
Long raw
|
存储大型可变长二进制数,≤2GB
|
ORACLE8/8i 数据类型
数据类型
|
说明
|
Char
|
定长字符,≤2000个字符
|
Varchar
|
(同Varchar2)可变字符,≤4000个字符
|
Varchar2
|
变长字符,≤4000个字符
|
Date
|
固定长度(7字节)的日期型
|
Number
|
数字型,可存放实型和整型
|
Long
|
可变字符,≤2GB个字符
|
Raw
|
可变二进制数据,≤4000字节
|
Long raw
|
可变二进制数据,≤2GB
|
MLSLABEL
|
仅Trusted Oracle 用长度在2~5字节间
|
Blob
|
大二进制对象,≤4GB
|
Clob
|
大字符串对象,≤4GB
|
Nclob
|
多字节字符集的Clob,≤4GB
|
Bfile
|
外部二进制文件,大小由OS决定
|
CHAR(<size>)
定长字符型(在Oracle5 、Oracle6 是变长),字符长度不够自动在右边加空格符号。当字符长度超出2000个则错误。不指定大小缺省为 1。
VARCHAR(<size>)
可变字符型,当前与VARCHAR2(<size>)相同。
VARCHAR2(<SIZE>)
可变字符型,当前与VARCHAR(<size>)相同。VARCHAR2 类型的字段(列)可存放4000个字符;但是VARCHAR2 变量可以存放32,767 个字符。大小必须指定。
NCHAR(<size>)和NVARCHAR2(<size>)
NCHAR 和NVARCHAR2 分别与 CHAR和VARCHAR2 有相同的大小。并用于于存放 National Language Support (NLS)数据,Oracle 允许以本地语言存放数据和查询数据。
如果将列名声明成NCHAR、NVARCHAR2这样的类型,则insert和 select 等语句中的具体值前加N,不能直接按照普通字符类型进行操作。看下面例子:
SQL> create table nchar_tst(name nchar(6),addr nvarchar2(16),sal number(9,2));
表已创建。
SQL> insert into nchar_tst values(N'赵元杰',N'北京市海淀区',9999.99);
已创建 1 行。
SQL> select * from nchar_tst where name like N'赵%';
NAME ADDR SAL
------ ---------------- ----------
赵元杰 北京市海淀区 9999.99
SQL> select * from nchar_tst where name like '赵%';
select * from nchar_tst where name like '赵%'
*
ERROR 位于第 1 行:
ORA-12704: 字符集不匹配.
提示:虽然Oracle可以使用nchar, nvarchar2 类型来存放字符数据,但建议设计者不要使用NCHAR和NVARCHAR2。因为CHAR和VARCHAR2就能存放汉字。
本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/204036,如需转载请自行联系原作者