2022年Oracle数据类型 .pdf
《2022年Oracle数据类型 .pdf》由会员分享,可在线阅读,更多相关《2022年Oracle数据类型 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ORACLE 基本数据类型 (亦叫内置数据类型built-in datatypes) 可以按类型分为: 字符串类型、数字类型、日期类型、LOB类型、 LONG RAW& RAW类型、 ROWID & UROWID类型。在讲叙字符串类型前,先要讲一下编码。 字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG) 和国际字符集(NCHAR/NVARCHAR2/NCLOB) 两种。数据库中的字符串数据都通过字符集将字符转换为数字后(二进制 ),才存储到数据块中。通过不同的编码集转换,即便是相同的字符, 也可能会转换成不同的二进制编码。这也是产生乱码的原因。数据
2、库的编码格式一般是在创建数据库时指定的。当然也可以修改数据库的编码。查看数据库视图所包含的数据类型:SELECT * FROM DBA_TYPES WHERE OWNER IS NULL.具体细节情况参见Oracle(r) Database SQL Language Quick Reference 10/11g 或官方文档一 字符串类型字符串数据类型还可以依据存储空间分为固定长度类型(CHAR/NCHAR) 和可变长度类型( VARCHAR2/NVARCHAR2)两种 . 所谓固定长度:是指虽然输入的字段值小于该字段的限制长度,但是实际存储数据时,会先自动向右补足空格后,才将字段值的内容存储到
3、数据块中。这种方式虽然比较浪费空间,但是存储效率较可变长度类型要好。同时还能减少数据行迁移情况发生。所谓可变长度: 是指当输入的字段值小于该字段的限制长度时,直接将字段值的内容存储到数据块中,而不会补上空白,这样可以节省数据块空间。1.1CHAR类型CHAR(size BYTE | CHAR) CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的 CHAR (12)总是包含 12 字节信息。 CHAR字段最多可以存储2,000 字节的信息。如果创建表时,不指定CHAR长度,则默认为1。 另外你可以指定它存储字节或字符,例如CHAR(12 BYTYE) CHAR(12 CHAR)
4、.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEMANTICS 的值。SQL Code 1. SQL show parameter nls_length_semantics; 2. 3. NAME TYPE VALUE 4. - - - 5. 6. nls_length_semantics string BYTE 7. 8. eg: 9. 10. CREATE TABLE TEST 11. 12. ( 13. 14. NAME_OLD CHAR(10), 15. 16. NAME_NEW CHAR(10 CHAR) 名师资料总结 - - -精品资料欢迎下载 - - -
5、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 17. 18. ) 19. 20. INSERT INTO TEST 21. 22. ( NAME_OLD, NAME_NEW) 23. 24. SELECT ABCDEFGHIJ , 你清除字节与字符 FROM DUAL; 25. 26. COMMIT; 27. 28. INSERT INTO TEST 29. 30. ( NAME_OLD, NAME_NEW) 31. 32. SELECT 你清除字节与字符 , ABCDEFGHI
6、J FROM DUAL; 33. 34. ORA-12899: 列 SYS.TEST.NAME_OLD 的值太大(实际值 : 24, 最大值 : 10) 注意:数据库的NLS_CHARACTERSET 为 AL32UTF8,即一个汉字占用三到四个字节。如果NLS_CHARACTERSET为 ZHS16GBK ,则一个字符占用两个字节。如果串的长度小于或等于250(0 x010 xFA) , Oracle 会使用 1 个字节来表示长度。对于所有长度超过250 的串,都会在一个标志字节0 xFE 后跟有两个字节来表示长度。因此,如果有一个包含 Hello World 的 VARCHAR2(80)
7、,则在块中可能如图12.-1 所示1.2 NCHAR类型这是一个包含UNICODE格式数据的定长字符串。NCHAR字段最多可以存储2,000 字节的信息。它的最大长度取决于国家字符集。另外查询时,如果字段是NCHAR类型,则需要如下书写SELECT translated_description FROM product_descriptions WHERE translated_name = NLCD Monitor 11/PM; 1.3 VARCHAR类型不要使用VARCHAR数据类型。使用VARCHAR2数据类型。虽然VARCHAR数据类型目前是VARCHAR2的同义词, VARCHAR数
8、据类型将计划被重新定义为一个单独的数据类型用于可变长度的字符串相比,具有不同的比较语义。1.4 VARCHAR2类型变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储 4,000 字节的信息。1.5: NVARCHAR2类型这是一个包含UNICODE格式数据的变长字符串。NVARCHAR2 最多可以存储4,000 字节的信息。二. 数字类型2.1 NUMBER类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - -
9、 - - - - - NUMBER(P ,S)是最常见的数字类型,可以存放数据范围为1013010126 (不包含此值),需要 122 字节 (BYTE) 不等的存储空间。P 是 Precison 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过38 个有效数字S是 Scale的英文缩写, 可以使用的范围为-84127。Scale为正数时, 表示从小数点到最低有效数字的位数,它为负数时,表示从最大有效数字到小数点的位数下面是官方文档的示例Actual Data Specified As Stored As 123.89 NUMBER 123.89 123.89 NUMBER(3) 12
10、4 123.89 NUMBER(6,2) 123.89 123.89 NUMBER(6,1) 123.9 123.89 NUMBER(3) 124 123.89 NUMBER(4,2) exceeds precision 123.89 NUMBER(6,-2) 100 .01234 NUMBER(4,5) .01234 .00012 NUMBER(4,5) .00012 .000127 NUMBER(4,5) .00013 .0000012 NUMBER(2,7) .0000012 .00000123 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Oracle数据类型 2022 Oracle 数据类型
限制150内