Oracle数据库基本数据类型
Oracle中的数据类型

Oracle中的数据类型Ø简介本⽂主要来讨论 Oracle 中的数据类型,包括以下内容:1.概念介绍2.数值类型3.字符类型4.⽇期类型5.⼤数据与⼆进制类型6.列举常⽤类型的数字代码1.概念介绍在我们的程序中有各种数据类型,⽽在 Oracle 中也有很多种类型,其实每⼀种语⾔的数据类型都会跟数据库中的数据类型⼤致的对应起来。
⽐如:在 Oracle 中主要分为四⼤数据类型,即:数字类型、字符类型、⽇期类型,以及⼤数据与⼆进制类型,下⾯就来讨论着⼏种常⽤的数据类型。
2.数值类型1)NUMBER(Type = 2)number 类型是 Oracle 中常⽤的数据类型,即可以⽤于存储整数整数,也可以存储⼩数⼩数,是⼀个⾮常有意思的数据类型。
number 是⼀个可变长度可变长度的数据类型,并且始终保持四舍五⼊四舍五⼊的原则。
number 可以指定两个参数 number(p,s):l p表⽰有效位,从左边第⼀个⾮0的数字开始数,到结尾的长度,取值范围:1 ~ 38;l s表⽰⼩数位,取值范围:-84 ~ 127。
注意:注意:通常情况下(需要整数位时),应该 p > s,例如:1.number(3,2) 只能存储:0.01 ~ 9.99 和 -0.01 ~ -9.992.number(3,3) 只能存储:0.001 ~ 0.999 和 -0.001 ~ -0.9993.number(2,3) 只能存储:0.001 ~ 0.099 和 -0.001 ~ -0.099n number 可以表⽰的数值范围:-1.0e-130 ~ 1.0e+126,占⽤空间为1 ~ 22 个字节。
下⾯看⼏个常见的例⼦:1.numbercreate table t_number(num number);insert into t_number values(56);insert into t_number values(56.78);select * from t_number;执⾏以上语句,实际存储为56和56.78。
oracle数据库基本数据类型

oracle数据库基本数据类型
Oracle数据库有许多基本数据类型,包括:
1. 字符型:
- CHAR:固定长度的字符型,最长可达2000个字节。
- VARCHAR2:可变长度的字符型,最长可达4000字节。
- CLOB:用于存储大量文本数据的字符型,最长可达4GB。
- NCHAR:固定长度的Unicode字符型,最长可达2000个字节。
- NVARCHAR2:可变长度的Unicode字符型,最长可达4000字节。
- NCLOB:用于存储大量Unicode文本数据的字符型,最长可达4GB。
2. 数值型:
- NUMBER:用于存储数值数据的类型,包括整数和浮点数。
- BINARY_FLOAT:用于存储单精度浮点数。
- BINARY_DOUBLE:用于存储双精度浮点数。
3. 日期和时间型:
- DATE:用于存储日期和时间信息。
- TIMESTAMP:用于存储日期、时间和时区信息。
4. 二进制型:
- RAW:用于存储二进制数据的类型,最长可达2000字节。
- BLOB:用于存储大量二进制数据的类型,最长可达4GB。
5. BOOLEAN型:用于存储布尔值(TRUE或FALSE)。
这些基本数据类型可以通过组合和修饰符进行扩展和定制。
oracle+DB2+infomix三种数据库比较

数据类型取值范围Char(n)n=1 to 2000字节Varchar2(n)n=1 to 4000Nchar(n)n=1 to 2000字节Nvarchar2(n)n=1 to 4000字节Long[会消失]最大2GClob最大4GNclob最大4GBlob最大4GBfile最大长度是4GBNumber(m,n)m=1 to 38n=-84 to 127DateRow(n)[会消失]n=1 to 2000LongRow[会消失]最大长度是2GB。
Rowid数据类型存储空间INTEGER4个字节SMALLINT 2 个字节FLOAT(n)8 个字节SMALLFLOAT 4 个字节DECIMAL(p, s)p/2+1 个字节CHAR(n)n 个字符VARCHAR(m, r )实际字符串长度,最多不超过m 个字节,最少r个字节DATE4 个字节DATETIMEintervalSERIAL 4 个字节。
MONEYtextbyteChar(size)用于保存定长(size)字节的字符串数据。
Varchar(size) 用于保存变长的字符串数据。
其中最大字节长度由(size)指定。
Long Varchar 用于保存变长的字符串数据。
Graphic(size) 双字节字符串。
Vargraphic(size) 可变长,双字节字符串。
Long Vargraphic 双字节字符串。
Timestamp 用于改变管理的二进制值数据,包括年月日时分秒毫秒。
Date 保存定长的日期数据,范围为0000年到9999。
Time 保存定长的时间数据。
Integer 保存整型数据,范围为-2147483648到+2147483647。
Smallint 保存整型数据,范围为-32768到+32767Bigint 保存整型数据,范围为-9223372036854775808到+9223372036854775807Real保存单精度浮点数据类型Double 保存双精度浮点数据类型,范围为-2.23E-308到+2.23E-308。
oracle 的数据类型

Oracle的数据类型一、概述在Oracle数据库中,数据类型是定义列或变量的属性,用于存储不同类型的数据。
数据类型在数据库设计和数据存储过程中起着关键的作用。
Oracle提供了丰富的数据类型,包括数值类型、字符类型、日期类型、大对象类型等。
本文将详细介绍Oracle的各种数据类型及其特点。
二、数值类型1. NUMBERNUMBER是Oracle中最常用的数值类型。
它可以存储任意精度的数值,包括整数和小数。
以下是一些常见的NUMBER类型的子类型:•NUMBER(precision): 存储精度为precision的数值。
•NUMBER(precision, scale): 存储精度为precision且小数位数为scale的数值。
2. INTEGERINTEGER是一种整数类型,它只能存储整数值。
它可以使用以下子类型:•INTEGER(precision): 存储精度为precision的整数值。
3. BINARY_FLOAT和BINARY_DOUBLEBINARY_FLOAT和BINARY_DOUBLE是用于存储浮点数的数据类型。
BINARY_FLOAT用于单精度浮点数,BINARY_DOUBLE用于双精度浮点数。
1. CHARCHAR是一种定长字符类型,它可以存储固定长度的字符串。
在创建CHAR类型的列或变量时,必须指定长度。
2. VARCHAR2VARCHAR2是一种可变长度字符类型,它可以存储可变长度的字符串。
在创建VARCHAR2类型的列或变量时,必须指定最大长度。
3. CLOBCLOB是用于存储大文本对象的数据类型。
它可以存储最大长度为4GB的文本数据。
四、日期类型1. DATEDATE是Oracle中用于存储日期和时间的数据类型。
它存储的范围从公元前4712年到公元9999年。
2. TIMESTAMPTIMESTAMP用于存储日期和时间,精确到纳秒级别。
它包括以下子类型:•TIMESTAMP: 存储日期和时间,精确到秒级别。
Oracle数据类型

oracle数据类型以下的大多数类型的描述都经本人验证,但不免有错误,请不吝赐教(oracle: 10.2.0.3.0 ,plsql: 7.1.5.1398 )注:以下两个函数有助于理解数据类型length() 当前列存储值的字符长度;vsize() 当前列存储值所占用字节数。
1.CHAR固定长度字符域, 最大长度可达2000 个字符或者字节。
默认指定为以字符形式进行存储,并且当位数不够时oracle 在其右边添加空格来补满。
例如:2.VARCHAR2可变长度字符域,最大长度可达4000 个字符。
例如:CREATE TABLE test(name varchar2(20))2.1.CHAR和VARCHAR2区别1.CHAR 的长度是固定的,而VARCHAR2 的长度是可以变化的,比如,存储字符串,对于CHAR (20),表示你存储的字符将占20 个字节(包括17 个空字符),而同样的VARCHAR2 (20)则只占用3 个字节的长度,20 只是最大值,当你存储的字符小于20 时,按实际长度存储。
2 .CHAR 的效率比VARCHAR2 的效率稍高。
3.目前VARCHAR 是VARCHAR2 的同义词。
工业标准的VARCHAR 类型可以存储空字符串,但是Oracle 不这样做,尽管它保留以后这样做的权利。
Oracle 自己开辟了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar 列可以存储空字符串的特性改为存储NULL 值。
假如你想有向后兼容的能力,Oracle 建议使用VARCHAR2 而不是VARCHAR。
何时该用CHAR,何时该用varchar2?CHAR 与VARCHAR2 是一对矛盾的统一体,两者是互补的关系. VARCHAR2 比CHAR 节省空间,在效率上比CHAR 会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’ 。
oracle varchar2中长度char类型

文章标题:深入解析Oracle中varchar2中长度char类型的概念与应用在Oracle数据库中,varchar2是一种常见的数据类型,用于存储可变长度的字符数据。
而在varchar2中,长度char类型又是一个比较特殊并且容易混淆的概念。
本文将从深度和广度两个方面对这一概念进行全面评估,并探讨其在实际应用中的重要性和影响。
一、varchar2中长度char类型的定义1.1 数据类型的基本概念在开始探讨长度char类型之前,我们先来回顾一下数据类型的基本概念。
在Oracle数据库中,数据类型用于定义列(字段)可以存储的数据类型,包括字符型、数字型、日期型等多种类型。
而varchar2是一种用于存储可变长度字符数据的数据类型,它可以存储长度不超过4000字节的数据。
1.2 长度char类型的特点在varchar2中,长度char类型是一个用来限定存储字符长度的属性。
它定义了存储在列中的字符的固定长度,不管实际存储的数据长度。
这意味着如果定义了一个长度为10的char类型的列,不管实际存储的数据长度是多少,Oracle都会在存储时补充空格以满足定义的长度。
这一特点在实际应用中具有重要的意义,下文将详细讨论。
二、长度char类型在实际应用中的重要性与影响2.1 存储空间的有效利用长度char类型的设定能够有效利用存储空间,尤其是在需要做索引的情况下。
通过设定固定的长度,可以减少存储空间的浪费,提高数据的存储效率。
而且在一些业务场景中,固定长度的存储对于数据的管理和维护也更加方便。
2.2 数据检索和比较的准确性在数据检索和比较的过程中,长度char类型可以确保数据的准确性。
由于存储时会补充空格,就可以保证实际存储的数据长度和定义的长度一致,从而在进行数据比较和检索时不会出现错误。
这对于保证数据的一致性和准确性具有重要意义。
2.3 字符串操作的可靠性长度char类型也可以确保字符串操作的可靠性。
在一些场景中,需要进行字符串的拼接、截取等操作,如果数据中存在长度不一致的情况,就会导致操作的不确定性和错误。
Oracle数据库实用教程-第 2章 Oracle表

表TABLE
约束CONSTRAINT
索引INDEX
表空间TABLESPACE
视图VIEW
回退段ROLLBACK SEGMENT
序列生成器SEQUENCE 同义词SYNONYM
用户USER
数据库链路DATABASE LINK
聚簇CLUSTER 分区PARTITION 函数/过程/程序包 触发器TRIGER 对象OBJECT
DESC emp_old;
SELECT * FROM emp_old;
16
2.3.3 存储参数
带存储参数的CREATE TABLE命令的简要语法及说明如下
CREATE TABLE [schema.] table
( { COLUMN1 DATATYPE [DEFAULT EXPn]
[COLUMN_CONSTRAINT] | TABLE_CONSTRAINT }
INSERT
INTO emp(deptno,empno,ename,sal,comm) VALUES(10,1020,'Jordan',4800,500);
32
6.修改存储参数
可 修 改 表 的 PCTFREE , PCTUSED , INITRANS 和MAXTRANS等存储参数。
例:修改表student的存储参数。
12
图2-4 table_properties的语法图
2.3 简单表的创建
2.3.1 简单表的创建语法
语法如下: CREATE TABLE 表名( 列名 类型 [NULL|NOT NULL] [PRIMARY KEY],
… 列名 类型 [NULL|NOT NULL][,[表级完整性约束]]);
13
oracle的xml数据类型

oracle的xml数据类型
Oracle数据库中的XML数据类型是XMLType。
XMLType是Oracle数据库中用来存储和操作XML文档的数据类型。
它允许用户存储、检索和操作XML数据,包括XML文档和片段。
XMLType可以存储格式良好的XML文档,并提供了一系列方法来处理XML数据。
用户可以使用XMLType来解析、查询和转换XML数据,从而更加灵活地处理复杂的XML文档。
在Oracle数据库中,XMLType可以用于创建列、变量和参数,以存储和操作XML数据。
用户可以使用SQL/XML函数和方法来操作XMLType数据,例如EXTRACT、XMLQuery和XMLTable等。
此外,XMLType还支持XML索引和XML数据的存储优化,以提高XML数据的检索性能。
另外,Oracle数据库还提供了一些特定的XML函数和操作符,用于处理XMLType数据,例如XMLSerialize、XMLExists和XMLCast等。
这些函数和操作符可以帮助用户进行XML数据的序列化、验证和转换等操作。
总的来说,Oracle的XMLType数据类型为用户提供了存储和操
作XML数据的功能,使得在Oracle数据库中处理XML文档变得更加方便和高效。
通过使用XMLType,用户可以轻松地将XML数据集成到他们的数据库应用程序中,并进行灵活的XML数据操作和查询。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle基本数据类型
oracle 数据库中讨论char ,varchar ,varchar2 数据类型!
这3种字符串数据类型是我们使用最多的,我们在数据库设计时到底该怎么使用了?
首先我们先来分析3个数据类型的说明:
1。
char
CHAR的长度是固定的,最长2000个字符。
2。
varchar 和 varchar2
可以肯定的是oracle中目前是可以使用varchar数据类型的,但他们的区别我查了不少资料也没有找到一个准确的答案最常见的说话是说oracle中的varchar只是varchar2的别名也就是同义词。
其次也有人认为varchar是最大长度为2000的可变字符串(和sql server中的varchar一致),而varchar2最大长度为4000。
知道了他们的特点我们就来讨论下使用区别
1.char和varchar、varchar2
由于varchar和varchar2用途类似,我们先来讨论char和他们的使用区别:
varchar和varchar2比char节省空间,在效率上比char会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的
‘以空间换效率’。
varchar和varchar2虽然比char节省空间,但是如果一个varchar和varchar2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用char代替varchar和varchar2会更好一些。
当然还有一种情况就是象身份证这种长度几乎不变的字段可以考虑使用char,以获得更高的效率。
2。
varchar和varchar2
这里就进入重点了,前面的区别我们在sql server中我们已经基本了解了,大家可能都知道,最多也就是复习下,但oracle增加了一个varchar2类型,是大家以前所没有用到过的。
因为oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar,还有其他数据中一般都有varchar这个数据类型。
所以我得出了以下结论:
如果想在oracle新版本的数据库兼容就不要用varchar,如果想和oracle 之外其他数据库兼容就不要用varchar2。
ORACLE中的数据类型分类
ORACLE中的数据类型不可谓不多,下面把我这两天来的学习体会写一下吧!
1、字符数据类型:包括我CHAR,VARCHAR2,LONG。
CHAR型可以存储字母数字值,这种数据类型的
列长度可以是1到2000个字节。
如果未指明,则默认其占用一个字节,如果用户输入的值小于指定的长度,数据库则用空格填充至固定长度。
VARCHAR2型其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名。
数据类型大小在1至4000个字节,但是和CHAR不同的一点是:当你定义了VARCHAR2长度为30,但是你只输入了10个字符,这时VARCHAR2不会像CHAR一样填充,在数据库中只有10具字节。
LONG型:此数据类型用来存储可变长度的字符数据,最多能存储2GB。
但是有一些限制:一个表中只有一列可以为LONG型,LONG列不能定义为主键或唯一约束,不能建立索引,过程或存储过程不能接受LONG数据类型的参数。
2、数值数据类型只有NUMBER型,但是NUMBER功能不小,它可以存储正数,负数,零,定点数和精度为30位的浮点数。
格式为(P=38,S=0),其中P为精度,表示数字的总位数,它在1-38之间,S为范围,表示小数点右边的数字的位数,它在-84至127之间。
3、日期时间数据类型:有DATE数据类型,TIMESTAMP数据类型。
DATE用于存储表中的日期和时间数据,ORACLE使用自己的格式存储日期,使用7个字节固定长度,每个字节分别存储世纪,年月日,小时,分和秒。
日期数据类型的值从公元前4712年1月1日到公元9999年12月31日。
ORACLE中的SYSDATE函数用于返回当前的日期和时间。
TIMESTAMP数据类型与DATE不同的是:它还返回当前的时区。
4RAW和LONG RAW 数据类型
此种数据类型主要用于存储二进制数据。
RAW用于存储基于字节的数据,最多能存储2000个字节,它没有默认大小,所以在使用时要指定大小,可以建立索引。
RAW LONG用于存储可变长度的二进制数据,最多能存储2GB,它受的限制和LONG类型一样。
5、LOB数据类型
LOB又称为“大对象”数据类型:主要有CLOB,BLOB,BFILE,三种子类型。
CLOB代表(CHARACTER LOB),它能够存储大量字符数据,可以存储非结构化的XML 文档。
BLOG代表(BINARY LOB),它可以存储较大的二进制对象;如图形,音视频剪辑。
BFILE 代表(BINARY FILE),它能够将二进制文件存储在数据库外部的操作系统文件中,注意是二进制文件,不是一般数据,BFILE列存储一个BFILE定位器,它指向位于服务器文件系统上的二进制文件,支持的文件最大为4GB。
不过ORACLE10以上的会更大,这还需要硬件方面的支持。