Oracle PL/SQL数据类型

心已入冬 提交于 2019-11-26 22:57:12
1、下面的数据类型适用于数字数据,它们都是可变长度的:
  • NUMBER

  数字数据,可以指定它的精度和小数位数。精度范围是1~38,小数位数范围是从–84~127。

  •  FLOAT

  这是一个ANSI数据类型,精度为126位二进制、38位十进制的浮点数。Oracle还提供BINARY_FLOAT和BINARY_DOUBLE作为备选。

  •  INTEGER

  相当于NUMBER,小数位数为零。

 
 
2、下面的数据类型适用于日期和时间数据,它们都是固定长度的:
  •  DATE

  它的长度为零(如果列为空)或者7个字节。所有DATE数据都包含世纪、年、月、日、时、分和秒。其有效范围为公元前4712年1月1日至公元9999年12月31日。

  •  TIMESTAMP

  如果列为空,那么它的长度为零,或者达到11字节(这取决于指定的精度)。与DATE类似,但对秒而言,其精度最多为9位,默认为6位。

  •  TIMESTAMP WITH TIMEZONE

  和TIMESTAMP一样,但在保存数据时可以指定时区。根据精度,长度可能达到13个字节。该数据类型让Oracle通过将两个时间规范化为UTC来确定它们之间的差,即使这两个时间在不同的时区。

  •  TIMESTAMP WITH LOCAL TIMEZONE

   和TIMESTAMP一样,但数据在保存时被规范化为数据库时区。当检索时,将其规范化为选择它的用户进程所在的时区。

  •  INTERVAL YEAR TO MONTH

  用于记录两个DATE或者TIMESTAMP之间以年和月为单位的时间间隔。

  • INTERVAL DAY TO SECOND

  用于记录两个DATE或者TIMESTAMP之间以天和秒为单位的时间间隔。

 
3、下面是大对象数据类型:
  •  CLOB

  保存在数据库字符集中的字符数据,大小没有限制:(4GB-1)×数据库块的大小。

  • NCLOB

  和CLOB一样,但数据保存在可选的国家语言字符集(它是许可的Unicode字符集之一)中。

  •  BLOB

  和CLOB一样,但二进制数据不会被Oracle Net执行字符集转换。

  • BFILE

  定位器,它指向保存在数据库服务器的操作系统上的文件。文件的大小限制为264 -1,但操作系统可以使用其他限制。

  • LONG

  数据库字符集中的字符数据,大小可达到2GB-1。LONG的所有功能(甚至更多)都由CLOB提供,不能在现代数据库中使用LONG,如果数据库有这种类型的列,应该将它们转换为CLOB。在表中只能有一个LONG列。

  •  LONG RAW

   和LONG一样,但Oracle Net不会转换二进制数据。所有LONG RAW列都应该转换为BLOB。

 
 
4、下面是ROWID数据类型:
  • ROWID

  以64为基数编码的值,它是一个指向表中行的位置的指针。它加密了。它里面是物理地址。ROWID是Oracle专有的数据类型,除非特别选择,否则不可见。

 

注:摘自OCA/OCP认证考试指南全册。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!