如果自己是程序员,知道编程语言有哪些可以使用的主要数据类型是非常重要的。当解决某些编程问题时,这些数据类型能够提供很多解决方案。同样要注意,有些函数只适用于某些特殊的数据类型。如下是PL/SQL中可以使用的主要ORCALE数据类型。
VARCHAR2(maximun_length)
- 存储变长的字符数据。
- 参数是必需的,指定字符数据的最大长度,最大为32767字节。
- 不使用常量或者变量来指定最大长度;必须使用整数型的字面值。
- VARCHAR2数据库列的最大宽度是4000字节
CHAR[maximun_length]
- 存储定长的字符数据(不足时使用空格填充)
- 参数是可选的,指定字符数据的最大长度,最大为32767字节。
- 不使用常量或者变量来指定最大长度;必须使用整数型字面值。如果没有指定最大长度,则默认为1.
- CHAR数据库列的最大宽度是2000字节,则默认值是1字节。
NUMBER[(precision,scale)]
- 存储任何大小的定点或者浮点数。
- precision是数字的位数。
- scale决定是否进行四舍五入。
- 可以指定精度和省略位,这时候scale是0,并且只允许使用整数。
- 常量或者变量不能被用于指定精度和数值范围;必须使用整数类型的字面值。
- NUMBER值的最大精度是38个十进制位。
- 数值范围为0到127.例如,数值2会在最近的百分位进行四舍五入(3.456变成3.46)。
- 数值范围可以是负数,会导致四舍五入到小数点的左边。例如,scale为-3时,会在千分位进行四舍五入(3456变成3000)。scale为0时,则在整数位进行四舍五入。如果不指定scale,其默认值是0.
BINARY_INTEGER
- 存储有正负之分的整数变量
- 与NUMBER数据类型相比较。BINARY_INTEGER变量被存储为二进制格式,这样会占用更少空间。
- 计算速度更快。
- 可以存储-2147483747到2147483747之间的任何整数值。
- 这个数据类型主要用于索引PL/SQL表。
DATE
- 存储定长的日期值。
- DATE变量的有效日期在January 14712 BC 和 December 31 9999 AD 的范围内。
- 当在数据库列中存储时,日期值包含从零时以来,以秒为单位的时间信息。
- 日期部分的默认值是当月的第一天,时间部分的默认值是零时。
- 日期实际上存储为二进制格式,并按照默认格式进行显示。
TIMESTAMP
- 这个数据类型是DATE数据类型的扩展。存储定长的日期值,精度到秒的小数位,最高为十进制小数位的第九位(默认是6)。例如,12-JAN-2008 09.51.44.000000PM就是这种数据类型的默认值
- 借助于WITH TIME ZONE 或者 WITH LOCAL TIME ZONE 选项,能够把TIMESTAMP绑定到特定时区。接着,这些设置会被调整到数据库的时区。比如,允许全球数据库中London和New York的记录使用相同的时间,即使New York为中午,London为下午5点。
BOOLEAN
- 存储TRUE、FALSE或者空值NULL.要记住,NULL标识丢失的,未知的或者不使用的值
- 只能把TRUE、FALSE或者空值NULL赋予BOOLEAN变量
- 值TRUE和FALSE不能被插入到数据库列。
LONG
- 存储变长的字符串
- LONG数据类型类似于VARCHAR2数据类型,唯一区别是LONG值的最大长度为2GB。
- 不能从LONG列选择大于4000字节的值填充到一个LONG变量。
- LONG列可以存储文本、字符数组,甚至短小的文档。可以在UPDATE、INSERT、SELECT语句中引用LONG列,但是不能在表达式、SQL函数调用或者特定SQL子句(例如WHERE、GROUP BY 和 CONNECT BY 等)中引用。
LONG RAW
LOB(大型对象)
- LOB的4种类型是BLOB、CLOB、NLOB、BFILE。可以存储二进制对象。例如图像或者视频文件,最大为4GB.
- BFILE是存储在数据库之外的大型二进制文件。最大尺寸为4GB
ROWID
- 从根本上讲,每个Oracle数据库都有一个ROWID伪列,存储名为rowid的二进制值。
- rowid唯一地标识每行数据,并提供访问特定数据行的最快捷方式。
- 使用ROWID数据类型,可以以易读的格式存储rowid.
- 当选择或者检索rowid,并存入ROWID变量时,可以使用函数ROWIDTOCHAR,把二进制转换为18字节的字符型字符串,并返回这个格式的数据。
- 扩展的rowid使用每个数据行的物理地址的基础64编码。编码字符为A~Z,a~z,0~9以及+和/。ROWID的格式为OOOOOOFFFBBBBBBRRR.每个组件都有自己特殊的含义。第1部分OOOOOO标识数据库段。接下来一部分FFF标识空间——包含该行数据的数据文件的数据文件编号。BBBBBB部分是包含该行数据的数据块。最后一部分数据的RRR标识数据库中该行数据(要注意,Oracle的未来版本可能对此的定义不同)。
分享到:
相关推荐
Oracle与.Net 数据类型映射,适用于.Net开发Oracle数据库。
ORACLE 10g 数据类型 PPT ORACLE 10g 数据类型 PPT
oracle和sql数据类型
oracle基本数据类型
Oracle与DB2数据类型的分类对应说明Oracle与DB2数据类型的分类对应说明
本文总结了oracle中支持的数据类型,可以让读者彻底明白oracle中的数据类型
SQL数据类型JDBC类型代码标准的Java类型Oracle扩展的Java类型 1.0标准的JDBC类型: CHARjava.sql.Types.CHARja
Delphi ADO连接Oracle数据库报数据类型不支持
oracle数据库中各种数据类型的详细说明
Oracle基本数据类型存储格式浅析(一)——字符类型 Oracle基本数据类型存储格式浅析(二)——数字类型 Oracle基本数据类型存储格式浅析(三)——日期类型 Oracle基本数据类型存储格式浅析(四)——ROWID类型 ...
oracle_数据类型讲解 详细讲解orqcle数据类型讲解
Oracle的数据类型: 1、CHAR数据类型,该类型是固定长度的字符串,如果没指定大小,则默认占用一字节,如果输入的值小于指定的长度,则数据库用空格填充至固定长度,如果用户输入的值大于指定的长度,则数据库...
oracle数据类型总结PPT,类型之间的区别
sql server 和oracle 中数据类型的区别
不同于MySQL,Oracle有着其独特的数据类型,本文档整理了Oracle常用的数据类型,并对不同数据类型的使用场景进行了描述。
Oracle基本数据类型.pdf
虽然ORACLE8i也允许你自定义数据类型,但是它们是最基本的数据类型。在下面的文章中你将了解到他们在oracle 中的用法、限制以及允许值。 l Character 数据类型 Character 数据类型用来存储字母数字型数据。当你...
oracle的数据类型及存储方式 文档,好资源和大家一起分享!
对oracle date,timestamp,interval数据类型的详细讲解。
oracle数据类型的经典学习资料