文档详情

Oracle中的字符型和.ppt

发布:2017-05-03约5.55千字共25页下载文档
文本预览下载声明
第6章 Oracle中的字符型及处理方法 与其他编程语言一样,Oracle中同样存在着数据类型。Oracle中的数据类型主要有两个应用场景:一是用于指定数据表中列的类型;二是用于PL/SQL编程中声明变量。Oracle的数据类型主要包括:字符型(character)、数值型(number)、日期型(date)和大对象型(LOB)。同时,Oracle提供了针对数据类型的内置函数。本章着重讲述Oracle中的字符型及其相关的函数。本章的主要内容包括: 字符型简介 字符型函数 6.1 字符型简介 Oracle中的字符型有三种,分别是char(n)、varchar(n)、varchar2(n)。本节将分别针对这三种类型进行介绍。 6.1.1 固定长度字符串——char(n) char(n)指定变量或列的数据类型为固定长度的字符串。其中,n代表字符串的长度。当实际字符串的长度不足n时,Oracle利用空格在右端补齐。当然,Oracle不允许实际字符串的长度大于n。 数据库中列指定为char(n)类型时,n的最大值不能大于2000。否则,Oracle将抛出错误,如示例6-1所示。 【示例6-1】当char(n)作为列的数据类型时,测试其最大长度。 SQL create table test_char(f_char char(2001)); create table test_char(f_char char(2001)) ORA-00910: specified length too long for its datatype 6.1.2 varchar(n) Oracle中提供了varchar(n)的数据类型。该类型是Oracle迎合工业标准中的varchar而制定的。该数 据类型实际是一个可变长度字符串类型。也就是说,当实际字符串的长度不足时,不会使用空格进行填充。同样,实际字符串的长度也不允许超出n。 【示例6-2】当作为列的数据类型出现时,varchar的最大长度不能大于4000,如下所示。 SQL alter table test_char add f_varchar varchar(4001); alter table test_char add f_varchar varchar(4001) ORA-00910: specified length too long for its datatype SQL alter table test_char add f_varchar varchar(4000); Table altered 6.1.3 varchar2(n) 与varchar(n)类型,varchar2(n)同样是可变长度的字符串类型。Oracle在工业标准之外,自定义了该数据类型。同时Oracle也提醒用户,尽量使用varchar2(n),而非varchar(n)。因为使用varchar2(n)可以获得Oracle向后兼容性的保证。 【示例6-3】当作为列的数据类型出现时,varchar2的长度同样不能大于4000,如下所示。 SQL alter table test_char add f_varchar2 varchar2(4001); alter table test_char add f_varchar2 varchar2(4001) ORA-00910: specified length too long for its datatype SQL alter table test_char add f_varchar2 varchar2(4000); Table altered 6.2 字符型分析 对于一般用途的数据表来说,最常用的字符串类型为varchar2(n)。本节将着重分析char(n)与varchar2(n)的区别。 6.2.1 varchar2(n)与char(n)的区别 varchar2(n)为可变字符串类型,而char(n)为固定字符串类型。这二者的区别在于是否使用空格来补齐不足的部分。 【示例6-4】在表test_char中,列f_char和f_varchar2的长度分别为2000和4000。先向其中插入新的记录,并为两列赋予相同的值。 SQL insert into test_char(f_char, f_varchar2) 2 values(000, 000); 1 row inserted 6.2.2 varchar2(n)与char(n)的选择 通过示例6-5可以看出,char(n)类型的列通常占用较大的存储空间;而varchar2(n)类型的列占用的空间较小。所以,varchar2(n)类型是我们在进行数据库设计时的一般选择。但这并不意味着ch
显示全部
相似文档