Oracle最常见的数据类型

Oracle最常见的数据类型

 

如下是PL/SQL中可以使用的主要ORCALE数据类型:  

VARCHAR2(maximun_length) 

a. 存储变长的字符数据。  

    b. 参数是必需的,指定字符数据的最大长度,最大为32767字节。   

c. 不使用常量或者变量来指定最大长度;必须使用整数型的字面值。   

d. VARCHAR2数据库列的最大宽度是4000字节  

 

CHAR[maximun_length] 

a. 存储定长的字符数据(不足时使用空格填充)  

b. 参数是可选的,指定字符数据的最大长度,最大为32767字节。   

c. 不使用常量或者变量来指定最大长度;必须使用整数型字面值。如果没有指定最大长度,则默认为1.  

d. CHAR数据库列的最大宽度是2000字节,则默认值是1字节  

  

NUMBER[(precision, scale)] 

a. 存储任何大小的定点或者浮点数。   

b. precision是数字的位数。  

c. scale决定是否进行四舍五入。  

d. 可以指定精度和省略位,这时候scale0,并且只允许使用整数。

e. 常量或者变量不能被用于指定精度和数值范围;必须使用整数类型的字面值。  

f. NUMBER值的最大精度是38个十进制位   

g. 数值范围为0127.例如,数值2会在最近的百分位进行四舍五入(3.456变成3.46)。  

h. 数值范围可以是负数,会导致四舍五入到小数点的左边。例如,scale-3时,会在千分位进行四舍五入(3456变成3000scale0时,则在整数位进行四舍五入。如果不指定scale,其默认值是0.  

  

BINARY_INTEGER

a. 存储有正负之分的整数变量

b. NUMBER数据类型相比较。BINARY_INTEGER变量被存储为二进制格式,这样会占用更少空间。   

c. 计算速度更快  

d. 可以存储-21474837472147483747之间的任何整数值。   

e. 这个数据类型主要用于索引PL/SQL

  

DATE 

a. 存储定长的日期值。  

b. DATE变量的有效日期在January 14712 BC  December   31    9999 AD 的范围内。  

c. 当在数据库列中存储时,日期值包含从零时以来,以秒为单位的时间信息。   

d. 日期部分的默认值当月的第一天,时间部分的默认值是零时   

e. 日期实际上存储为二进制格式,并按照默认格式进行显示。  

  

TIMESTAMP 

a. 这个数据类型是DATE数据类型的扩展。存储定长的日期值,精度到秒的小数位,最高为十进制小数位的第九位(默认是6)。例如,12-JAN-2008 09.51.44.000000PM就是这种数据类型的默认值  

b. 借助于WITH TIME ZONE 或者 WITH LOCAL TIME ZONE 选项,能够把TIMESTAMP绑定到特定时区。接着,这些设置会被调整到数据库的时区。比如,允许全球数据库中LondonNew York的记录使用相同的时间,即使New York为中午,London为下午5点。  

 

BOOLEAN 

a. 存储TRUEFALSE或者空值NULL.要记住,NULL标识丢失的,未知的或者不使用的  

b. 只能把TRUEFALSE或者空值NULL赋予BOOLEAN变量   

c. TRUEFALSE不能被插入到数据库列  

 

LONG 

a. 存储变长的字符串

b. LONG数据类型类似于VARCHAR2数据类型,唯一区别LONG值的最大长度为2GB  

    c. 不能从LONG选择大于4000字节的值填充到一个LONG变量   

d. LONG列可以存储文本字符数组,甚至短小的文档。可以在UPDATEINSERTSELECT语句中引用LONG,但是不能在表达式SQL函数调用或者特定SQL子句(例如WHEREGROUP BY  CONNECT BY 等)中引用  

 

LONG RAW 

a. 存储原始的二进制变量数据,最大不能超过2GB  

 

LOB(大型对象

a. LOB4种类型是BLOBCLOBNLOBBFILE。可以存储二进制对象。例如图像或者视频文件,最大为4GB.  

b. BFILE是存储在数据库之外大型二进制文件。最大尺寸为4GB  

 

ROWID 

a. 从根本上讲,每个Oracle数据库都有一个ROWID伪列,存储名为rowid二进制值  

    b. rowid唯一地标识每行数据,并提供访问特定数据行的最快捷方式   

c. 使用ROWID数据类型,可以以易读的格式存储rowid.   

d. 当选择或者检索rowid,并存入ROWID变量时,可以使用函数ROWIDTOCHAR,二进制转换为18字节的字符型字符串,并返回这个格式的数据。   

e. 扩展的rowid使用每个数据行的物理地址的基础64编码。编码字符为A~Z,a~z,0~9以及+/ROWID的格式为OOOOOOFFFBBBBBBRRR.每个组件都有自己特殊的含义。第1部分OOOOOO标识数据库段。接下来一部分FFF标识空间——包含该行数据的数据文件的数据文件编号BBBBBB部分是包含该行数据的数据块。最后一部分数据的RRR标识数据库中该行数据(要注意,Oracle的未来版本可能对此的定义不同)。

猜你喜欢

转载自it4j.iteye.com/blog/2003348