首页 理论教育 ORACLE数据库应用开发:常用数据类型与使用

ORACLE数据库应用开发:常用数据类型与使用

时间:2026-01-27 理论教育 东北妞 版权反馈
【摘要】:Oracle中常用数据类型如下:1.字符数据类型CHAR类型。VARCHAR2数据类型是一种可变长度的、有最大长度的字符型数据。NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符数据,但是它们使用的是和数据库其他类型不同的字符集。number数据类型的使用。RAW数据类型可占用2 KB的空间,而LONG RAW数据类型则可以占用2 GB大小。

创建表的语法中,每列都需要指定数据类型。Oracle中常用数据类型如下:

1.字符数据类型

(1)CHAR类型。

CHAR数据类型存储固定长度的字符值。一个CHAR数据类型可以包括1~2 000个字符。如果没有对CHAR明确地说明长度,则它的默认长度设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

(2)VARCHAR2类型。

VARCHAR2数据类型是一种可变长度的、有最大长度的字符型数据。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的最大长度,而非实际赋值长度。不需要用空格填充。最多可设置为4 000个字符。

VARCHAR2同CHAR的区别:CHAR的长度是固定的,而VARCHAR2的长度是可以变化的,比如,存储字符串“abc”,对于CHAR(20),表示存储的字符将占20个字节(包括17个空字符),而VARCHAR2(20)则只占用3个字节的长度,20只是最大值,当存储的字符小于20时,按实际长度存储。CHAR的效率比VARCHAR2的效率稍高。

(3)NCHAR和NVARCHAR2类型。

NCHAR和NVARCHAR2数据类型分别存储固定长度与可变长度的字符数据,但是它们使用的是和数据库其他类型不同的字符集。在创建数据库时,需要指定所使用的字符集,以便对数据库中的数据进行编码。还可以指定一个辅助的字符集(即本地语言集(National Language Set,NLS))。NCHAR和NVARCHAR2类型的列使用辅助字符集。

(4)LONG、CLOB和NCLOB类型。

LONG数据类型可以存放2 GB的字符数据,它是从早期版本中继承来的。现在如果想存储大容量的数据,Oracle推荐使用CLOB和NCLOB数据类型。在表和SQL语句中使用LONG类型有许多限制。

CLOB和NCLOB数据类型可以存储多达4 GB的字符数据。NCLOB数据类型可存储NLS数据。

2.数值数据类型

在Oracle系统中,数值类型可以用于存储整数、浮点数及实数。NUMBER数据类型具有精度(precision)和范围(scale)。

NUMBER数据类型可以有两个限定符,如:

①precision表示数字中的有效位,可以是1~38个数字之间的任何值。如果没有指定precision,Oracle将使用38作为精度。(https://www.xing528.com)

②scale表示数字小数点右边的位数,取值可以是0~3,scale默认设置为0。如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

【例5.1】 number数据类型的使用。

①number:当没有规定精度或范围的数值时,指的是number(38),最大取值范围。

②number(9,2):共9位数字,整数最多7位,小数最多2位,小数多的部分四舍五入。

③number(3):小于等于3位的整数。

3.日期数据类型

DATE用于存储表中的日期和时间数据,Oracle使用自己的格式存储日期,使用7个字节固定长度,每个字节分别存储世纪、年、月、日、小时、分和秒。日期数据类型的值从公元前4712年1月1日到公元9999年12月31日。Oracle中的SYSDATE函数用于返回当前的日期和时间。

DATE数据类型的主要问题是它不能够区别出两个事件哪个先发生。Oracle已经在DATE数据类型上扩展出了TIMESTAMP时间戳数据类型,它包括了所有DATE数据类型的年、月、日、时、分、秒的信息,并且包括了小数秒、时区的信息。

【例5.2】 创建日期字段。SQL语句如下:

插入数据:

【例5.3】 创建日期时间字段。SQL语句如下:

插入系统当前时间:

结果为(显示信息为日-月 年 小时.分.秒.毫秒):

4.RAW和LONG RAW类型

RAW和LONG RAW数据类型主要用于对数据库进行解释。指定这两种类型时,Oracle以位的形式来存储数据。RAW数据类型一般用于存储有特定格式的对象,如位图。RAW数据类型可占用2 KB的空间,而LONG RAW数据类型则可以占用2 GB大小。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈