oracle中的字符型及

oracle中的字符型及

ID:36302582

大小:252.31 KB

页数:25页

时间:2019-05-08

oracle中的字符型及_第1页
oracle中的字符型及_第2页
oracle中的字符型及_第3页
oracle中的字符型及_第4页
oracle中的字符型及_第5页
资源描述:

《oracle中的字符型及》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章Oracle中的字符型及处理方法与其他编程语言一样,Oracle中同样存在着数据类型。Oracle中的数据类型主要有两个应用场景:一是用于指定数据表中列的类型;二是用于PL/SQL编程中声明变量。Oracle的数据类型主要包括:字符型(character)、数值型(number)、日期型(date)和大对象型(LOB)。同时,Oracle提供了针对数据类型的内置函数。本章着重讲述Oracle中的字符型及其相关的函数。本章的主要内容包括:字符型简介字符型函数6.1字符型简介Oracle中的字符型有三

2、种,分别是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)作为列的数据类型时,测试其

3、最大长度。SQL>createtabletest_char(f_charchar(2001));createtabletest_char(f_charchar(2001))ORA-00910:specifiedlengthtoolongforitsdatatype6.1.2varchar(n)Oracle中提供了varchar(n)的数据类型。该类型是Oracle迎合工业标准中的varchar而制定的。该数据类型实际是一个可变长度字符串类型。也就是说,当实际字符串的长度不足时,不会使用空格进行填充。同样

4、,实际字符串的长度也不允许超出n。【示例6-2】当作为列的数据类型出现时,varchar的最大长度不能大于4000,如下所示。SQL>altertabletest_charaddf_varcharvarchar(4001);altertabletest_charaddf_varcharvarchar(4001)ORA-00910:specifiedlengthtoolongforitsdatatypeSQL>altertabletest_charaddf_varcharvarchar(4000);Tab

5、lealtered6.1.3varchar2(n)与varchar(n)类型,varchar2(n)同样是可变长度的字符串类型。Oracle在工业标准之外,自定义了该数据类型。同时Oracle也提醒用户,尽量使用varchar2(n),而非varchar(n)。因为使用varchar2(n)可以获得Oracle向后兼容性的保证。【示例6-3】当作为列的数据类型出现时,varchar2的长度同样不能大于4000,如下所示。SQL>altertabletest_charaddf_varchar2varcha

6、r2(4001);altertabletest_charaddf_varchar2varchar2(4001)ORA-00910:specifiedlengthtoolongforitsdatatypeSQL>altertabletest_charaddf_varchar2varchar2(4000);Tablealtered6.2字符型分析对于一般用途的数据表来说,最常用的字符串类型为varchar2(n)。本节将着重分析char(n)与varchar2(n)的区别。6.2.1varchar2(n)与

7、char(n)的区别varchar2(n)为可变字符串类型,而char(n)为固定字符串类型。这二者的区别在于是否使用空格来补齐不足的部分。【示例6-4】在表test_char中,列f_char和f_varchar2的长度分别为2000和4000。先向其中插入新的记录,并为两列赋予相同的值。SQL>insertintotest_char(f_char,f_varchar2)2values('000','000');1rowinserted6.2.2varchar2(n)与char(n)的选择通过示例6-

8、5可以看出,char(n)类型的列通常占用较大的存储空间;而varchar2(n)类型的列占用的空间较小。所以,varchar2(n)类型是我们在进行数据库设计时的一般选择。但这并不意味着char(n)类型应该被摒弃。相反,char(n)在效率方面要高于varchar2(n)。这是因为可变长度的字符串类型在实际数据长度发生改变时,总需要不断调整存储空间。尤其是频繁修改数据,而数据长度也不断改变的情况下,这种效率的损耗尤其明显。大多数的应用程

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。