Oracle基础-数据类型总结
admin
2023-05-23 04:03:08
0

Oracle提供了22种不同的sql数据类型供我们使用:

1、char :

   这是个定长的字符串,会用空格填充来达到其最大长度。char 字段最多可以存储2000字节信息;

2、nchar :

   这个一个包含Unicode格式数据的定长字符串。与char类型有所不同,char类型定义的长度可为字节或字符。nchar字段最多可以存储2000字节的信息;

3、varchar2 :

   目前这也是varchar的同义词。它是个变长字符串,与char类型不同,它不会用空格将字段或变量填充至最大长度。它最多可以存储4000字节信息。自Oracle12C起,它可以最多存储32767字节信息; 

4、nvarchar2 :

   这个一个包含Unicode格式数据的变长字符串。它最多可以存储4000字节的信息。自Oracle12C起,它可以存储最多32767字节的信息;

5、raw : 

   这个一种变长二进制数据类型,也就是说采用这种数据类型存储的数据不会发生字符集转换。它最多存储2000字节信息。自Oracle12C起,它可以存储最多32767字节的信息;

6、number :

   这种数据类型能存储精度最多达38位的数字,这种类型的数据会以变长方式来存储,其长度在0~22字节(null值长度为0)。它的精度很高;

7、binary_float :

   这是Oracle10 才开始有的一种新类型。它是一个32位单精度浮点数,可以支持至少6位精度,占用磁盘上5个字节的存储空间;

8、binary_double :

   这是一种Oracle10 才开始有的新类型,它是一个64位双精度浮点数,可以支持至少15位精度,占用磁盘9字节的存储空间;

9、long :

   这种类型能存储最多2GB的字符数据(2GB是指2千兆字节,而不是2千兆个字符,因为在一个多字节字符集中,有的字符可能占用多个字节),不建议使用该类型,在现有的应用中应将long类型转换为CLOB类型;

10、long raw :

   该类型能存储多大2GB的二进制信息,与long类型同样的原因建议在应用中使用BLOB类型;

11、date : 

   这是个7字节的定宽日期/时间数据类型,其中共包含7个属性:世纪、世纪中的哪一年、月份、天、小时、分钟和秒;

12、timestamp :

   这是个7字节或11字节的定宽日期时间数据类型(高精度会使用11字节)。它与date数据类型不同,因为timestamp可以包含小数秒,带小数秒的timestamp最多可以保留9位小数;

13、timestamp with time zone :

   这是一个13字节的定宽timestamp,不过它还提供了时区(time zone)支持。因为时区信息是与timestamp存储在一起的,所以数据在插入时的时区信息会与时间一起保留下来;

14、timestamp with local time zone :

   与timestamp类型,这是一种以7字节或11字节的定宽日期时间数据类型(高精度会使用11字节);不过,这种类型对时区敏感;

15、interval year 10 month :

   这是个5字节的定宽数据类型,用于存储一个时段。这个类型将时段存储为年数和月数;我们可以在日期运算中使用这种时段,使一个date或timestamp类型的数据增加或减少一段时间;

16、interval day 10 second :

   这是个11字节的定宽数据类型,用于存储一个时段。这种类型将时段存储为天、小时、分钟、秒数,还可以有最多9位的小数秒;

17、BLOB :

   在Oracle9i以前最多能存储4GB数据,而从Oracle10以后最多能存储(4GB-1)X(数据库块大小)字节的数据;blob包含不需要进行字符集转换的二进制数据。

18、CLOB :

   在Oracle9i以前最多能存储4GB数据,而从Oracle10以后最多能存储(4GB-1)X(数据库块大小)字节的数据;当发生字符集转换时,CLOB会受到影响。这种数据类型很适合存储大块纯文本信息。

19、NCLOB :

   在Oracle9i以前最多能存储4GB数据,而从Oracle10以后最多能存储(4GB-1)X(数据库块大小)字节的数据;NVLOB会存储以数据库国家字符集编码的信息,而且像CLOB一样,当发生字符集转换时,这种类型也会受到影响;

20、BFILE :

   这种数据类型可以在数据库列中存储一个Oracle目录对象和一个文件名,我们可以通过它来读取这个文件;

21、rowid

    rowid实际上是数据库表中行的地址,它有10字节长。rowid中编码的信息,不但足以在磁盘上定位每一行,而且还能识别出rowid指向的那行数据所属的对象(表等);

22、urowid

    urowid是一个通用rowid,用于没有固定rowid的表。urowid通常表现为主键的值。因此urowid的大小会根据所指向的对象而有所变化;


注意:从Oracle12C 起,varchar2、nvarchar2和raw类型可以存储最多32767字节的信息,但是需要启用扩展数据类型。在默认情况下这个特性没有启用的。


从Oracle12C起,varchar2 和 nvarchar2类型的最大长度由原来的4000字节变成现在最多存储32767字节,12C默认情况下没有启用扩展数据类型,需要手动启动,如下:

shutdown immediate;

startup upgrade;

alter system set max_string_size=extended;

@?/rdbms/admin/utl32k.sql

shutdown immediate

startup;

---按照上面的命令就可以激活扩展数据类型;

注意:一旦激活扩展数据类型,是不可以回退的,除非做一个非完全恢复,将数据恢复到变更的时间点前的状态;


相关内容

热门资讯

国企举报前高管利用职务便利侵吞... 2013年,北京国润水清环境工程有限公司(以下简称“国润公司”)通过招商引资,与当地政府签订郑州市上...
原创 三... 近日,中国移动宣布构建 AI‑eSIM 多生态智能服务体系,推出 “流量 + 词元 + 智能体” 融...
河南省纪委监委:李涛被查 据周口市纪委监委消息:周口市港航管理局党组成员、副局长李涛涉嫌严重违纪违法,目前正接受周口市纪委监委...
郑州挂牌两宗宅地,底价5.84... 【大河财立方消息】 5月19日,郑州市自然资源和规划局公告,决定以网上挂牌方式出让郑政出〔2026〕...
坚定不移沿着习近平总书记指引的... “要持之以恒加强重点流域生态保护治理,深化污染防治攻坚,筑牢生态安全屏障。”——习近平丹水北上承嘱托...
坚定不移沿着习近平总书记指引的... “要把这些中华文化瑰宝保护好、传承好、传播好。”——习近平初夏时节,洛阳偃师区,二里头夏都遗址博物馆...
“00后”厨师上门下厨 正在顾客家里做饭的“00后”厨师王展。当“00后”拎着厨具,敲开一扇扇家门,入户做饭正悄然成为一种新...
马斯克起诉OpenAI“诱骗”... 据CCTV国际时讯,当地时间5月18日,美国加利福尼亚州奥克兰的联邦法院陪审团对马斯克起诉美国开放人...
特朗普不甘:要是我加税,就没台... 【文/观察者网 柳白】“本来那些生意全是英特尔的,没有台湾什么事了。”特朗普近期在一次采访中再度剑指...
打响“河南服务”品牌丨特种鞋靴... 一双特种鞋靴,能有多硬核?“这款森林灭火作战防护靴鞋底能承受300摄氏度的高温,就算用火点燃,也能在...