Oracle数据库基本数据类型

合集下载

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数据库基本数据类型
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三种数据库比较

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提供了丰富的数据类型,包括数值类型、字符类型、日期类型、大对象类型等。

本文将详细介绍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数据类型以下的大多数类型的描述都经本人验证,但不免有错误,请不吝赐教(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中长度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表

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数据类型
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数据操作和查询。

[复习]oracle里long数据类型的总结

[复习]oracle里long数据类型的总结

[复习]oracle里long数据类型的总结1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。

2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。

3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。

4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。

5、LONG 数据类型的使用中,要受限于磁盘的大小。

能够操作 LONG 的 SQL 语句:1、Select语句2、Update语句中的SET语句3、Insert语句中的VALUES语句限制:1、一个表中只能包含一个 LONG 类型的列。

2、不能索引LONG类型列。

3、不能将含有LONG类型列的表作聚簇。

4、不能在SQL*Plus中将LONG类型列的数值插入到另一个表格中,如insert into …select。

5、不能在SQL*Plus中通过查询其他表的方式来创建LONG类型列,如create table as select。

6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。

7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。

8、LONG类型列不能用于分布查询。

9、PL/SQL过程块的变量不能定义为LONG类型。

10、LONG类型列不能被SQL函数所改变,如:substr、instr。

因为long类型的数值不能用insert into … select的方法插入,故我们要分两步走,先插入其它字段,最后再插入long类型字段,这可以通过过程来实现.下面是一个我做实验实现的例子. SQL>; create table testlong (id number,name varchar2(12),history long);表已创建。

oracle number与entityframework 数据类型-概述说明以及解释

oracle number与entityframework 数据类型-概述说明以及解释

oracle number与entityframework 数据类型-概述说明以及解释1.引言1.1 概述概述:在现代的软件开发中,数据库和数据存储是至关重要的组成部分。

而在数据库设计中,数据类型也是一个非常重要的概念,不同的数据库系统对数据类型的定义和实现都有一定的差异。

在本文中,我们将重点讨论Oracle数据库中的Number数据类型以及在Entity Framework中对数据类型的映射和应用。

Oracle数据库是一种常用的关系型数据库管理系统,而Entity Framework是一种流行的对象关系映射框架,它可以帮助开发人员轻松地操作数据库。

通过对Oracle Number和Entity Framework数据类型的比较和分析,我们可以更好地理解它们之间的关系,了解在实际应用中如何选择和使用合适的数据类型,从而提高开发效率和数据存储的性能。

1.2文章结构1.2 文章结构本文将首先介绍Oracle Number数据类型的定义和特点,包括其在Oracle数据库中的应用和使用方法。

然后,将详细讨论Entity Framework 数据类型的概念和不同于Oracle Number的特性。

最后,将比较和分析Oracle Number和Entity Framework数据类型的异同,并探讨它们在实际应用中的应用场景和选用建议。

通过对这两种数据类型的深入研究和比较,读者将更好地了解它们各自的优缺点,以及在不同场景下的选择和应用的考虑因素。

1.3 目的:本文的主要目的是探讨和比较Oracle Number数据类型和Entity Framework数据类型之间的差异和应用。

通过深入分析这两种数据类型的特点、限制和优势,帮助读者更好地理解它们在不同环境下的使用场景和适用性。

同时,本文还旨在为开发人员提供关于如何在实际项目中正确选择和使用这两种数据类型的实用建议和技巧。

通过对比分析,读者可以更好地了解这两种数据类型的优劣势,从而在开发中做出明智的选择,提高开发效率和数据处理的准确性。

Oracle的基本数据类型(常用)

Oracle的基本数据类型(常用)

Oracle的基本数据类型(常⽤)
1、字符型
Char 固定长度字符串占2000个字节
Varchar2 可变长度字符串占4000个字节
Nvarchar2 占2000个字符(最多能存2000个字母/中⽂)
2、⼤对象型(lob)
Blob :⼆进制数据最⼤长度4G
Blob ⽤于存⼀些图⽚,视频,⽂件。

⽐如:当我们在进⾏⽂件上传时,我们⼀般把上传的⽂件存在硬盘上,可以不占⽤,下载时,如果项⽬迁移时,⽂件也要跟着迁移。

因此我们可以把⽤blob把它存在数据库中。

但这样也增加了数据库的负担。

Clob :字符数据最⼤长度4G,可以存⼤字符串 varchar2和nvarchar2都具有⼀定的局限性,它们长度有限,但数据库中⽆论⽤varchar2或nvarchar2类型,还是⽤clob,在java端都使⽤String接收。

3、数值型
Integer 整数类型,⼩的整数。

Float 浮点数类型。

Real 实数类型。

Number(p,s)包含⼩数位的数值类型。

P表⽰精度,s表⽰⼩数后的位数。

Eg: number(10,2) 表⽰⼩数点之前可有8位数字,⼩数点后有2位。

4、⽇期类型
Date ⽇期(⽇-⽉-年) DD-MM-YY(HH-MI-SS)
Timestamp 跟date⽐它可以精确到微秒。

精确范围0~9 默认为6.。

oracle 数据类型 oracle各数据类型之间的区别

oracle 数据类型  oracle各数据类型之间的区别

RAW,类似于CHAR,声明方式RAW(L),L为长度,以字节为单位,作为数据库列最大2000,作为变量最大32767字节。
LONG RAW,类似于LONG,作为数据库列最大存储2G字节的数据,作为变量最大32760字节。
日期,只有一种类型--DATE,用来存储时间信息,站用7个字节(从世纪到秒),绝对没有“千年虫”问题。
除了记录和表之外,还有对象类型、集合(嵌套表和VARRAYS)等类型,这些将专门讲解。
四、引用(REFERENCE)
在PL/SQL8.0之前,只有一种类型--REF CURSOR,也就是游标。它的定义较为简单,
CURSOR cursor_name IS select .....from.....;
NCLOB:用来存储定宽多字节字符数据。(例如:存《啸傲江湖》就挺好)
BLOB:和LONG RAW相似,用来存储无结构的二进制数据。
BFILE:它用来允许ORACLE对数据库外存储的大型二进制文本进行只读形式的访问。
六、其他
其实在完成对标量变量的理解之后,基本上可以应付C/S模式下的常规数据库应用所需了,后续的类型说实话,我玩了5年ORACLE,都很少用到。
VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值,作为变量最大32767个字节,作为数据存储在ORACLE8中最大为4000。在多字节语言环境中,实际存储的字符个数可能小于L值,例如:当语言环境为中文(SIMPLIFIED CHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列可以保存200个英文字符或者100个汉字字符。
数字,它有三种基本类型--NUMBER、PLS_INTEGER和BINARY_INTENER。NUMBER可以描述整数或实数,而PLS_INTEGER和BINARY_INTENER只能描述整数。

Oracle基础必学知识点

Oracle基础必学知识点

Oracle基础必学知识点1. 数据库概念:Oracle是一种关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。

它支持SQL语言,可以通过SQL语句进行数据查询、插入、更新和删除操作。

2. 数据库对象:Oracle数据库由多个对象组成,包括表、视图、索引、序列、存储过程等。

这些对象用于存储和处理数据,可以通过SQL语句进行操作。

3. 数据类型:Oracle支持多种数据类型,包括数字、字符、日期、大对象(LOB)等。

不同的数据类型用于存储不同类型的数据,可以根据需求选择合适的数据类型。

4. 表操作:在Oracle中,表用于存储数据。

可以使用CREATE TABLE语句创建表,使用INSERT语句插入数据,使用SELECT语句查询数据,使用UPDATE语句更新数据,使用DELETE语句删除数据。

5. 索引:索引是一种用于提高查询性能的数据结构。

在Oracle中,可以使用CREATE INDEX语句创建索引,通过索引可以快速定位到需要查询的数据,提高查询效率。

6. 数据约束:数据约束是用于保证数据的完整性和有效性的规则。

在Oracle中,可以使用约束来限制数据的取值范围、保证数据的唯一性等。

常见的约束类型包括主键约束、外键约束、唯一约束、非空约束等。

7. 视图:视图是一种虚拟表,它是从一个或多个表中获取数据的查询结果。

在Oracle中,可以使用CREATE VIEW语句创建视图,通过视图可以简化复杂的查询操作,提高数据的安全性。

8. 存储过程:存储过程是一组预先编译的SQL语句,存储在数据库中,并可以通过调用来执行。

在Oracle中,可以使用CREATE PROCEDURE语句创建存储过程,通过存储过程可以实现复杂的数据处理逻辑。

9. 事务控制:事务是一组逻辑操作,要么全部执行成功,要么全部回滚。

在Oracle中,可以使用BEGIN/END语句或者显式的事务语句(如COMMIT和ROLLBACK)来控制事务的提交或回滚。

mysqloraclesqlserver三大数据库的数据类型列表

mysqloraclesqlserver三大数据库的数据类型列表

MySql Oracle SqIServer三大数据库的数据类型列表MySql数据类型Oracle数据类型、概述在ORACLE8中定义了:标量(SCALAR、复合(COMPOSITE、引用(REFERENCE和LOB四种数据类型,下面详细介绍它们的特性。

二、标量(SCALAR合法的标量类型与数据库的列所使用的类型相同,此外它还有一些扩展。

它又分为七个组:数字、字符、行、日期、行标识、布尔和可信。

数字,它有三种基本类型--NUMBER、PLS_INTEGEF和BINARY_INTENER NUMBER可以描述整数或实数,而PLS_INTEGEf和BINARY_INTENER^能描述整数。

NUMBER,是以十进制格式进行存储的,它便于存储,但是在计算上,系统会自动的将它转换成为二进制进行运算的。

它的定义方式是NUMBER( P, S),P是精度,最大38位,S是刻度范围,可在-84...127间取值。

例如:NUMBER( 5, 2)可以用来存储表示-999.99...999.99间的数值。

P、S可以在定义是省略,例如:NUMBER( 5)、NUMBER 等;BINARY_INTENER|来描述不存储在数据库中,但是需要用来计算的带符号的整数值。

它以2的补码二进制形式表述。

循环计数器经常使用这种类型。

PLS_INTEGEf和口BINARY_INTENER隹一区别是在计算当中发生溢出时,BINARY_INTENERS的变量会被自动指派给一个NUMBER型而不会出错,PLS_INTEGE型的变量将会发生错误。

字符,包括CHAR VARCHAR2 (VARCHAR、LONG NCHAR和NVARCHAR2几种类型。

CHAR描述定长的字符串,如果实际值不够定义的长度,系统将以空格填充。

它的声明方式如下CHAR( L) , L 为字符串长度,缺省为1,作为变量最大32767个字符,作为数据存储在ORACLE8中最大为2000。

oraclenumber类型

oraclenumber类型

oraclenumber类型一、概述Oracle数据库中的oraclenumber类型是一种高精度数值类型,用于存储大范围的数字数据。

它可以存储任意精度的数字,包括整数和小数,并支持各种算术运算和比较操作。

二、oraclenumber类型的特点1. 高精度:oraclenumber类型可以存储任意精度的数字数据,不受位数限制。

2. 范围广:oraclenumber类型可以存储从极小值到极大值之间的所有数字。

3. 精确度高:oraclenumber类型能够保证高精度计算时不会出现舍入误差。

4. 支持各种算术运算和比较操作:oraclenumber类型支持加、减、乘、除等基本运算,还支持幂运算、开平方等高级运算。

三、使用方法1. 定义变量:在Oracle数据库中定义一个oraclenumber类型的变量需要使用NUMBER(p,s)语法,其中p表示总位数,s表示小数位数。

例如,NUMBER(10,2)表示最多可以存储10位数字,其中包括2位小数。

2. 赋值:可以使用赋值语句将一个常量或者其他变量赋给一个oraclenumber类型的变量。

例如:DECLAREnum1 NUMBER(10,2);num2 NUMBER(10,2) := 123.45;BEGINnum1 := num2;END;3. 运算:oraclenumber类型支持各种算术运算和比较操作,例如: DECLAREnum1 NUMBER(10,2) := 123.45;num2 NUMBER(10,2) := 67.89;result NUMBER(12,4);BEGINresult := num1 + num2; --加法运算result := num1 - num2; --减法运算result := num1 * num2; --乘法运算result := num1 / num2; --除法运算result := POWER(num1, 3); --幂运算result := SQRT(num1); --开平方运算END;四、注意事项1. oraclinumber类型在存储空间和计算效率上都比较耗费资源,因此在设计表结构时应该谨慎使用。

oracle的基础数据类型

oracle的基础数据类型

在 Oracle 数据库中,有许多基本的数据类型可用于存储不同类型的数据。

这些数据类型包括数值类型、字符类型、日期类型等。

以下是 Oracle 数据库中一些常见的基础数据类型:
1.CHAR 和 VARCHAR2:用于存储固定长度和可变长度的字符数据。

CHAR
类型会在存储时填充空格到固定长度,而 VARCHAR2 则根据实际长度存储数据。

2.NUMBER:用于存储数值数据,包括整数、小数等。

可以根据需求指定精
度和范围。

3.DATE 和 TIMESTAMP:用于存储日期和时间数据。

DATE 类型存储日期
和时间,而 TIMESTAMP 类型可以存储带有时区信息的日期和时间数据。

4.CLOB 和 BLOB:CLOB(Character Large Object)用于存储大量的字符数
据,而 BLOB(Binary Large Object)用于存储二进制数据,如图像、音频
等。

5.BINARY_INTEGER:用于存储整数数据,特别用于存储计数器和索引等
整数值。

6.BOOLEAN:用于存储布尔值,可以表示真或假。

7.RAW:用于存储原始的二进制数据,与 BLOB 类似,但 RAW 类型不受字
符集的影响。

8.FLOAT 和 DOUBLE PRECISION:用于存储浮点数数据,包括单精度和双
精度浮点数。

除了上述基本数据类型外,Oracle 还提供了许多其他复杂的数据类型和对象类型,可以用于存储和管理更复杂的数据结构。

在创建数据库表和定义表结构时,选择合适的数据类型对于确保数据的完整性和一致性非常重要。

mysql和Oracle数据类型对照

mysql和Oracle数据类型对照

mysql和Oracle数据类型对照MySQL与Oracle两种数据库在⼯作中,都是⽤的⽐较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上⼀定的⿇烦,下⾯介绍MySQL与Oracle数据库数据类型的对应关系。

⼀、常见数据类型在MySQL与Oracle数据库中的表现形式说明mysql oracle变长字符串VARCHAR[0-65535]定义长度默认按字符长度计算,如果是GBK编码的汉字将占⽤2个字节VARCHAR2[1-4000]VARCHAR是VARCHAR2的同义词定义默认按字节长度计算整数TINYINT(-128-127)SMALLINT(-32768-32767)MEDIUMINT(-8388608-8388607)INT(-2147483648-2147483647)BIGINT(-9223372036854775808-9223372036854775807)⽆专⽤类型,TINYINT可以⽤NUMBER(3,0)代替SMALLINT可以⽤NUMBER(5,0)代替MEDUIMINT可以⽤NUMBER(7,0)代替INT可以⽤NUMBER(10,0)代替BIGINT可以⽤NUMBER(20,0)代替ORACLE中有SMALLINT,INT,INTEGER类型,不过这是NUMBER(38,0)的同义词数值类型DECIMAL[1-65[,0-30]]NUMERIC是DECIMAL的同义词NUMBER 可表⽰数范围: 1*10^-130⾄1*10^126NUMBER([1-38][,-84-127])DECIMAL、NUMERIC、DEC是NUMBER的同义词浮点型FLOAT(D,M)oracle10g开始增加BINARY_FLOAT类型10g以前⽆专⽤类型,可以⽤NUMBER代替ORACLE中有FLOAT和REAL类型,不过这是NUMBER的同义词双精度浮点型DOUBLE(D,M)oracle10g开始增加BINARY_DOUBLE类型10g以前⽆专⽤类型,可以⽤NUMBER代替ORACLE中有DOUBLE PRECISION类型,不过这是NUMBER的同义词位类型BIT(1-64)⽆DATE,3字节存储,只存储⽇期,没有时间,⽀持范围是[1000-01-01]⾄[9999-12-31]TIME,3字节存储,只存储时⽇期类型TIME,3字节存储,只存储时间,没有⽇期,⽀持范围是[-838:59:59]⾄[838:59:59]DATETIME,占8字节存储,可表⽰⽇期和时间,⽀持范围是[1000-01-01 00:00:00]⾄[9999-12-31 23:59:59]TIMESTAMP,占4字节存储,可表⽰⽇期和时间,范围是[1970-01-01 00:00:00]⾄[2038-01-19 03:14:07]DATE类型7字节存储,可表⽰⽇期和时间,⽀持范围是[-4712-01-01 00:00:00]⾄[9999-12-31 23:59:59]⾼精度⽇期5.6.4以前不⽀持⼩数秒精度5.6.4开始TIME,DATETIME,TIMESTAMP⽀持,最多可以6位⼩数秒,也就是微秒级别TIMESTAMP[0-9]占⽤空间7-11个字节,当⼩数秒精度为0时与DATE类型相同,⼩数秒最⾼精度可达9位,也就是纳精度年份份,⽀持范围是[1901]⾄[2155]⽆对应类型,可以⽤NUMBER(3,0)代替定长字符串CHAR[0-255],定义长度默认按字符长度计算,最⼤保存255字符CHAR[1-2000]定义默认按字节长度计算⽆符号说明⽀持,⽤于数值类型不⽀持⼤字符串,⼀般⽤于存储⽂本⽂件或超⼤描述及备注类信息TINYTEXT 最⼤⽀持255个字节TEXT最⼤⽀持65535个字节MEDIUMTEXT最⼤⽀持16MB个字节LONGTEXT最⼤⽀持4GB字节字段不⽀持默认值⽀持(CLOB)oracle10g以前最⼤⽀持4GB个字节oracle10g开始最⼤⽀持4GB个数据块,数据块⼤⼩为2KB-32KBoracle还有⼀个LONG类型,是早期的存储⼤字符串类型,最⼤⽀持2GB字节,现已不推荐使⽤⼆进制对象,⼀般⽤于存储⽂件或图⽚数据TINYBLOB 最⼤⽀持255个字节BLOB最⼤⽀持65535个字节MEDIUMBLOB最⼤⽀持16MB个字节LONGBLOB最⼤⽀持4GB字节字段不⽀持默认值⽀持(BLOB)oracle10g以前最⼤⽀持4GB个字节oracle10g开始最⼤⽀持4G个数据块,数据块⼤⼩为2KB-32KBoracle还有⼀个LONGRAW类型,是早期的存储⼆进制类型,最⼤⽀持2GB字节,现已不推荐使⽤⼆进制信息BINARY(0-255),定长VARBINARY(0-65535),变长RAW(1-2000)枚举类型ENUM(v1,v2,v3,...),最多65535个元素不⽀持集合类型SET(v1,v2,v3,...),最多64个元素不⽀持国际化字符集类型,较少使⽤⽆,MYSQL可以对每个字段指定字符编码⽀持NCHAR(1-2000) NVARCHAR(1-4000)外部⽂件指针类型不⽀持⽀持⽂件⼤⼩最⼤4GB⽂件名称最长255字符不⽀持⽀持⾃动增长类型⽀持使⽤简单不⽀持⼀般使⽤SEQUENCE解决,⽤法与⾃增类型差别较⼤,使⽤较复杂,但能实现⾮常灵活的应⽤,包括字符⾃增主键、全局主括字符⾃增主键、全局主键等等不⽀持函数和表达式TEXT和BLOB字段类型不⽀持默认值⽀持函数和表达式⽀持,例如,把emp表的id字段顺序放在name字段后⾯:alter table emp modify column id varchar(20) after name;不⽀持,只能重建表或字段虚拟字段是⼀个逻辑字段定义,其结果值通常是⼀个表达式,并在表中存储物理值,不占⽤空间,主要⽤于简化查询逻辑。

oracle中number数据类型的格式规则

oracle中number数据类型的格式规则

一、Number数据类型概述Oracle数据库中的Number数据类型是一种用于存储数字数据的数据类型。

它是一种非常灵活的数据类型,可以用来存储整数、小数、负数等各种类型的数字数据。

在Oracle数据库中,Number数据类型是非常常用的,因此了解其格式规则是非常重要的。

二、Number数据类型的格式规则1. 精度Number数据类型的精度指的是数字的总位数,包括小数点前面和后面的数字。

在定义Number数据类型时,可以指定其精度,如Number(10,2)表示总共10位数字,其中有2位是小数位。

精度最大可以达到38位,如果没有指定精度,默认是38位。

2. 小数位除了总位数外,Number数据类型还可以指定小数位的位数。

这样可以确保存储的数字都符合特定的小数精度要求。

如果没有指定小数位,默认是0,表示存储的数字为整数。

3. 范围Number数据类型可以存储的范围非常广泛,从极小的负数到极大的正数都可以涵盖。

在Oracle中,Number数据类型可以存储的范围是-1E-130到9.9E125。

4. 存储空间由于Number数据类型是可变精度的,因此其存储空间是动态分配的。

对于小的数字,所占用的存储空间会比较小;而对于大的数字,所占用的存储空间会比较大。

这种动态分配的特性可以节省存储空间,并且不会浪费空间。

5. 零值和空值在Oracle中,Number数据类型可以表示零值,并且可以存储空值。

这意味着Number数据类型可以完整地表示数字数据,并且可以保持数据的完整性。

6. 精度丢失在进行计算和存储数据时,由于Number数据类型的精度是有限的,可能会出现精度丢失的问题。

因此在使用Number数据类型时,需要注意保持数据的精度,避免出现数据计算不准确的情况。

三、Number数据类型的应用场景1. 金融行业在金融行业中,对于金额、利率、汇率等数字数据的精度要求非常高。

使用Number数据类型可以确保存储和计算这些数字数据时保持高精度,避免因精度丢失而引起的错误。

各数据库的数据类型的区别

各数据库的数据类型的区别

Oracle、MySQL、SQL Server数据库的数据类型的差异1.Oracle数据库的各种数据类型CHAR 定长的字符型数据,长度<=2000字节VARCHAR2 变长的字符型数据,长度<=4000字节N CHAR 用来存储Unicode字符集的定长字符型数据,长度<=1000字节注意:N字打头的是存储Unicode字符集NVARCHAR2 Unicode字符集的变长字符型数据,长度<=1000字节NUMBER 整型或者浮点型数值DATE 日期数据LONG 2GB的变长字符数据RAW 用来存储非结构化数据的变长字符数据,长度<=2000字节LONG RAW 用来存储非结构化数据的变长字符数据,长度<=2GBROWID 用来存储表中列的物理地址的二进制数据,占用固定的10个字节BLOB 4GB的非结构化的二进制数据CLOB 4GB的字符数据NCLOB 4GB的Unicode字符数据BFILE 把非结构化的二进制数据存储在数据库以外的操作系统文件中UROWID 表示任何类型列地址的二进制数据FLOAT 浮点数2.MySQL数据库的各种数据类型CHAR (M) CHAR数据类型用于表示M长度的字符串。

VARCHAR (M) VARCHAR可以保存可变长度的字符串, VARCHAR数据类型所支持的最大长度也是255个字符。

INT (M) [Unsigned] INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。

如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。

FLOAT [(M,D)] FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。

其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。

DATE DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。

Oracle数据库基础

Oracle数据库基础

Oracle数据库基础一.Oracle的数据类型1.字符型用来存储字符串或字符数据,主要类型有varchar2、char和long。

①varchar2用来存储可变长的字符串或字符型数据,在使用时,须指明其最大字节数据。

②char用来存储定长字符串或字符型数据,使用时也要指定长度,其缺省值为1。

③long用来存储可变长的字符串或字符型数据。

2.数字型数字型用于存储整数或实数。

主要有:number、binary_integer①number用于存储数字数据,包括整数或浮点数。

在实际应用中,应该指定该类型数据长度和小数的位数。

在Oracle中其指定的长度不包含小数点和符号位。

②binary_integer它是PL/SQL的一个数据类型,它用于带符号的整数值,以2的补码的二进制形式进行存储。

3.日期型DATE型用于存储日期和事件信息,包括世纪、年、月、日、时、分、秒,其占7个字节,每一部分占一个字节。

4.raw和long rawraw和long raw用来存储二进制数据。

①rawRaw类似于char,必须指定存储二进制数的最大字节书。

②long rawlong raw类似于long。

5.ROWID数据库表中的每一行(ROW)都有一个地址,通过查询伪例ROWID获得该行地址。

该伪例的值为16进制字符串,该串的数据类型为ROWID。

其字符值的形式为:BLOCK.ROW.FILE。

6.布尔型在表中无布尔型的字段类型,只有在PL/SQL中可以定义BOOLEAN型,它的值为TRUE、FALSE、NULL。

在定义BOOLEAN 型变量时可限定变量为NOT NULL,但此时必须为该变量初始化。

7.复合类型①记录记录定义的格式如下:TYPE Record_type IS RECORD(Field1 Datatype1 [NOT NULL][:=Expression1],Field2 Datatype2 [NOT NULL][:=Expression2],…);在上述格式中Record_type是一种定义的记录类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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以上的会更大,这还需要硬件方面的支持。

相关文档
最新文档