Oracle基础-数据类型总结

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;

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

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

时间: 2024-10-08 19:33:09

Oracle基础-数据类型总结的相关文章

Oracle基础 数据类型

一.Oracle中的数据类型 Oracle中提供了丰富的数据类型,用来存储数据,主要包括: 1.字符类型:主要用来存储字符串类型的数据. 数据类型 长度 说明 CHAR(n BYTE/CHAR) 默认1字节,n值最大为2000 末尾填充空格以达到指定长度,超过最大长度报错.默认指定长度为字节数,字符长度可以从1字节到四字节. NCHAR(n) 默认1字符,最大存储内容2000字节 末尾填充空格以达到指定长度,n为Unicode字符数.默认为1字节. NVARCHAR2(n) 最大长度必须指定,最

Oracle基础实训

一.Oracle基础SQL练习 班级表:班级编号(主键.标识列).班级名称.班主任.开班日期老师表:老师编号(主键.标识列) .姓名.性别(默认值‘男’).身份证号(必须是18位数字).联系电话学生表:学号(主键.固定五位数字) .班级编号.姓名.性别.出生日期.联系电话.家庭地址成绩表:编号(主键.标识列) .学号.科目名称.分数 1.表格创建 create table();语法 CREATE TABLE [schema.]table (column datatype [DEFAULT exp

Oracle自定义数据类型 2 (调用对象方法)

调用对象方法 调用对象方法基于类型创建表后,就可以在查询中调用对象方法 A. 创建基于对象的表语法: create   table   <表名>   of   <对象类型>意义:此表具有该类型和member方法的所有属性, 我们不能通过DBA   STUDIO的表数据编辑器来编辑数据. 例:create   table   FLIGHT_SCH_TAB   of   FLIGHT_SCH_TYPE insert   into   FLIGHT_SCH_TAB     values(

TypeScript学习指南第一章--基础数据类型

基础数据类型 为了搭建应用程序,我们需要使用一些基础数据类型比如:numbers,strings,structures,boolean等等. 在TypeScript中除了在JavaScript中常见的数据类型外还有一个非常使用的枚举类型(enumeration type). Boolean 最基础的数据类型莫过于只有True和false的布尔类型了,在TypeScript,JavaScript以及其它的很多数程序语言中我们使用关键字'boolean'. var isDone: boolean =

【转载:Oracle基础知识】Oracle数据库体系结构

先来看张直观的图:                                            oracle 11g 体系结构图 理解Oracle体系结构要充分理解三个概念:数据库(database),数据库实例(instance),会话(session),一定不要把这三个概念弄混. 数据库的概念 (A)    物理存储结构由数据文件.控制文件.重做日志文件组成: 1.       数据文件(datafile) select * from dba_data_files; 数据文件包括存

【Oracle】Oracle基本数据类型总结

ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两种.数据库中的字符串数据都通过字符集将字符转换为数字后(二进制),才存储到数据块中.通过不同的

Oracle自定义数据类型 1

原文 oracle 自定义类型 type / create type 一 Oracle中的类型 类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2.2.数值类型.如:int.number(p,s).integer.smallint.3.日期类型.如:date.interval.timestamp.4.PL/SQL类型.如:pls_integer.binary_integer.binary_double(10g).binary_fl

2015.9.30.基础数据类型以及输入输出语句

从今天开始不定期更新C语言基础教程,请参考教材(仅仅参考!)进行学习,本系列教程只写基础部分,不会掺杂复杂的细节,这些细节在后续会根据需要再加入,如果有不懂请自行百度尝试解决.该系列文章内容可能来源我本人或者zhrmoe(他的主页:http://zhrmoe.iflab.org)的编写.文章如果有错误欢迎批评指正,谢谢!转载请注明来自本站, //2015.9.30  基本输入输出 #include <stdio.h> /* 基础数据类型 char 字符 int 整数 double 小数 对应的

Python中的基础数据类型

Python中基础数据类型 1.数字 整型a=12或者a=int(2),本质上各种数据类型都可看成是类,声明一个变量时候则是在实例化一个类. 整型具备的功能: class int(object): """ int(x=0) -> int or long int(x, base=10) -> int or long Convert a number or string to an integer, or return 0 if no arguments are gi