oracle_数据类型讲解

oracle_数据类型讲解

ID:6165159

大小:312.50 KB

页数:40页

时间:2017-11-14

oracle_数据类型讲解_第1页
oracle_数据类型讲解_第2页
oracle_数据类型讲解_第3页
oracle_数据类型讲解_第4页
oracle_数据类型讲解_第5页
资源描述:

《oracle_数据类型讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle数据类型单世民Oracle数据类型概述LONGNVARCHAR2VARCHAR2NCHARCHARRAWBLOBLONGRAWNUMBERBINARY_FLOATBINARY_DOUBLEBFILECLOBNCLOBDATETIMESTAMPTIMESTAMPWITHTIMEZONETIMESTAMPWITHLOCALTIMEZONEINTERVALYEARTOMONTHINTERVALDAYTOSECONDROWIDUROWID字符类型数值类型二进制类型日期和时间类型LONG类型LOB类型ROWID/UROWID类型字符类型概述Oracle

2、中的字符数据类型包括CHAR、VARCHAR2以及带“N”的相应变体(NCHAR和NVARCHAR2),这些字符数据类型能存储2000字节或4000字节的文本。这些文本会由数据库根据需要在不同的字符集(characterset)之间进行转换。CHAR、VARCHAR2、NCHAR、NVARCHAR2都是以同样的格式进行存储。字符类型NLS(国家语言支持)NLS全称是NationalLanguageSupport。NLS是数据库的一个非常强大的特性,控制着数据的许多方面,最重要的两个方面是:文本数据持久存储在磁盘上时如何编码透明地将数据从一个字符集转换到另

3、一个字符集字符类型如何查看当前的数据库字符集设定SELECT*FROMnls_database_parametersWHEREparameter=‘NLS_CHARACTERSET’字符类型CHARCHAR是定长字符串类型,总会用空格填充来达到其最大长度。CHAR字段最多可以存储2000字节的信息。正常情况下,size的单位默认为BYTE。CHAR(size[BYTE

4、CHAR])字符类型VARCHAR2VARCHAR2是变长字符串类型,不会用空格填充至最大长度。此类型最多可存储4000字节的信息。VARCHAR2(size[BYTE

5、CHAR])为什么

6、称为VARCHAR2而不是VARCHAR?也有一个数据类型是VARCHAR,然而,Oracle公司声称他们将来可能会改变VARCHAR的字段行为,我们无法知道“改变后的”VARCHAR将会如何。所以,当前应尽量避免使用VARCHAR字符类型NCHAR/NVARCHAR2两种数据类型用于包含UNICODE格式数据的字符串,以支持某些应用中对多字节数据的需求。两者的存储字符数上界分别是2000/4000字节。NVARCHAR2和NCHAR与相应的VARCHAR2和CHAR的区别在于:文本采用数据库的国家字符集来存储和管理,而不是默认字符集长度总是字符数,而C

7、HAR/VARCHAR2可能会指定是字节还是字符字符类型判断:vchar_col列可以存储多少字符(每字符4字节)?1000字符VARCHAR2中存储的字节数上界是4000。如果选择的字符集中每个字符都要使用4个字节来表示,那么vchar_col字段只能放下1000个字符CREATETABLET(vchar_colVARCHAR2(4000CHAR));字符类型判断:是否可以如下定义vchar_col列?不可以NVARCHAR2中存储的字节数上界也是4000。但是定义时长度参数总是表示字符数,没有字节(BYTE)还是字符(CHAR)的选择问题CREATE

8、TABLET(vchar_colNVARCHAR2(4000CHAR));数值类型NUMBER Oracle9iRelease2及以前的版本只支持一种适合存储数值数据的固有数据类型。在所有的Oracle版本中NUMBER都得到支持NUMBER类型精度可达38位。可以存储小到10e-130、大到(但不包括)10e126的任何数值数值类型NUMBER精度(precision) 也称为总位数,取值范围1~38,默认值为38,也可以用字符*表示38小数位数(scale) 也称为小数点右边的位数,合法值-48~127,默认值取决于是否指定了精度。如果没有指定精度,

9、小数位数则默认有最大的取值区间。如果指定了精度,小数位数默认为0NUMBER(precision,scale)数值类型判断:num_col字段是否可以存储小数?可以 如果没有指定精度,小数位数则默认有最大的取值区间,换句话说,定义NUMBER的列会存储浮点数(有小数)CREATETABLET(num_colNUMBER);数值类型判断:num_col字段是否可以存储小数?不可以 如果指定小数位数为0,那么相应字段只能存储整数数据(没有小数)CREATETABLET(num_colNUMBER(5));数值类型判断:num_col字段是否可以存储123

10、456?不可以123456含有6位数字,超过了定义时所规定的精度(5位)。因此,

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

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

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