oracle数据类型

简介:

ORACLE数据类型

Oracle数据库的数据类型与其它的数据库系统相比,它的数据类型不多,Oracle在表示数据方面比其他数据库系统来说要省去许多关键字。Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。其它如日期类型等也简单得多,只DATE就表示日期和时间。下面以列表形式给出各个版本的Oracle系统数据类型的表示方法。下面给出Oracle旧版本的数据类型的目的是让读者了解Oracle的变化,另外就是你在对旧版本进行升级或数据转换时要注意各个版本的差别。
 
ORACLE5ORACLE6数据类型
 
数据类型
说明
Char
可变长字符型,≤254
Varchar2
可变长字符型,≤2000
Number(m,n)
数字类型,含整数、小数等
Date
日期型,含时间,缺省格式为mmm-dd-yyyy hh:mi:ss(占7字节)
Long
存储大型可变长字符串,≤2GB
Raw
存储短二进制串,≤2GB
Long  raw
存储长二进制串,≤2GB
                               ORACLE7数据类型
数据类型
说明
Char
定长字符,≤255个字符
Varchar
变长字符,≤2000个字符
Varchar2
变长字符,≤2000个字符
Number(m,n)
数字类型,含整数、浮点、双精度等
Long
存储大型可变长字符串,≤2GB
Raw
存储可变短二进制数,≤2000
Long  raw
存储大型可变长二进制数,≤2GB
 
                      ORACLE8/8i  数据类型
 
数据类型
说明
Char
定长字符,≤2000个字符
Varchar
(同Varchar2)可变字符,≤4000个字符
Varchar2
变长字符,≤4000个字符
Date
固定长度(7字节)的日期型
Number
数字型,可存放实型和整型
Long
可变字符,≤2GB个字符
Raw
可变二进制数据,≤4000字节
Long  raw
可变二进制数据,≤2GB
MLSLABEL
Trusted Oracle 用长度在2~5字节间
Blob
大二进制对象,≤4GB
Clob
大字符串对象,≤4GB
Nclob
多字节字符集的Clob,≤4GB
Bfile
外部二进制文件,大小由OS决定
 
 
CHAR(<size>)
定长字符型(在Oracle5 Oracle6 是变长),字符长度不够自动在右边加空格符号。当字符长度超出2000个则错误。不指定大小缺省为 1
 
VARCHAR(<size>)
可变字符型,当前与VARCHAR2(<size>)相同。
 
VARCHAR2(<SIZE>)
可变字符型,当前与VARCHAR(<size>)相同。VARCHAR2 类型的字段(列)可存放4000个字符;但是VARCHAR2 变量可以存放32,767 个字符。大小必须指定。
 
NCHAR(<size>)NVARCHAR2(<size>)
NCHAR NVARCHAR2 分别与 CHARVARCHAR2 有相同的大小。并用于于存放 National Language Support (NLS)数据,Oracle 允许以本地语言存放数据和查询数据。
如果将列名声明成NCHARNVARCHAR2这样的类型,则insert select 等语句中的具体值前加N,不能直接按照普通字符类型进行操作。看下面例子:
 
SQL> create table nchar_tst(name nchar(6),addr nvarchar2(16),sal number(9,2));
 
表已创建。
 
SQL> insert into nchar_tst values(N'赵元杰',N'北京市海淀区',9999.99);
 
已创建 1 行。
 
SQL> select * from nchar_tst where name like N'%';
 
NAME   ADDR                    SAL
------ ---------------- ----------
赵元杰 北京市海淀区       9999.99
 
SQL> select * from nchar_tst where name like '%';
select * from nchar_tst where name like '%'
                                        *
ERROR 位于第 1 :
ORA-12704: 字符集不匹配.
 
提示:虽然Oracle可以使用nchar, nvarchar2 类型来存放字符数据,但建议设计者不要使用NCHARNVARCHAR2。因为CHARVARCHAR2就能存放汉字。









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/204036,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
SQL 运维 Oracle
【迁移秘籍揭晓】ADB如何助你一臂之力,轻松玩转Oracle至ADB的数据大转移?
【8月更文挑战第27天】ADB(Autonomous Database)是由甲骨文公司推出的自动化的数据库服务,它极大简化了数据库的运维工作。在从传统Oracle数据库升级至ADB的过程中,数据迁移至关重要。
81 0
|
1月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle的还原数据
Oracle数据库中的还原数据(也称为undo数据或撤销数据)存储在还原表空间中,主要用于支持查询的一致性读取、实现闪回技术和恢复失败的事务。文章通过示例详细介绍了还原数据的工作原理和应用场景。
【赵渝强老师】Oracle的还原数据
|
4月前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的数据文件
在Oracle数据库中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件存储实际的数据库数据。查询时,如果内存中没有所需数据,Oracle会从数据文件中读取并加载到内存。可通过SQL语句查看和管理数据文件。附有视频讲解及示例。
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据创建同义词
oracle数据创建同义词
58 0
|
4月前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
80 0
|
4月前
|
SQL Oracle 关系型数据库
Oracle误删数据怎么恢复?
Oracle误删数据怎么恢复?
56 0
|
4月前
|
SQL Oracle Java
实时计算 Flink版产品使用问题之采集Oracle数据时,为什么无法采集到其他TABLESPACE的表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
分布式计算 Oracle 关系型数据库
实时计算 Flink版产品使用问题之获取Oracle的数据时无法获取clob类型的数据,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。