当你在数据库中创建数据表的时候,你需要定义表中所有字段的类型。ORACLE有许多种数据类型以满足你的需要。数据类型大约分为:character, number, date, LOB, 和RAW等类型。虽然ORACLE8i也允许你自定义数据类型,但是它们是最基本的数据类型。在下面的文章中你将了解到他们在oracle 中的用法、限制以及允许值。 ; y& r# {8 H3 K% i
1.Character 数据类型
; \ t( N9 ] }9 v0 P2 v3 A
+ F" ]7 S& C1 @1 e0 b Character 数据类型用来存储字母数字型数据。当你在oracle 中定义一个character 数据时,通常需要制定字段的长度,它是该字段的最大长度。ORACLE提供以下几种character 数据类型:
: ?3 b: z6 r# y' J( d CHAR() CHAR数据类型是一种有固定长度和最大长度的字符串。存储在数据类型为CHAR字段中的数据将以空格的形式补到最大长度。长度定义在1——2000字节之间。
$ h0 q" @' T& q5 C 当你创建一个CHAR型字段,数据库将保证在这个字段中的所有数据是定义长度,如果某个数据比定义长度短,那么将用空格在数据的右边补到定义长度。如果长度大于定义长度将会触发错误信息。
; y& m3 l) @$ x B4 M VARCHAR() varchar型数据是varchar2型数据的快照。
. |5 y" E0 l' y2 g6 c' T VARCHAR2() varchar2数据类型是一种可变长度的、有最大长度的字母数字型数据。Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达到32676字节。 2 o6 G; A6 u# L2 u
一个空的varchar2(2000)字段和一个空的varchar2(2)字段所占用的空间是一样的。 ) a+ p }3 G0 d- a: v
NCHAR() 和 NVARCHAR2() NCHAR() 和 NVARCHAR2()数据类型分别与CHAR() 和 VARCHAR2()类型是相同的,只不过它们用来存储NLS(National Language Support)数据。
( V, R# s0 Z0 j+ Q7 x' z LONG LONG 数据类型是一个遗留下来的而且在将来不会被支持的数据类型。它将被LOB(Large Object)数据类型所代替。
2 r1 B$ p2 W6 k/ P! Q. H$ l4 O9 ` 比较规则 Varchar2和char数据类型根据尾部的空格有不同的比较规则。对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序比没有空格的要大些。比如: 1 X1 J+ w- x- t& l; w
Char 型数据: ‘YO’=‘YO ’ 1 e+ K# F8 X" s, d- j. N
Varchar2型数据: ‘YO’ |