oracle函数 的 Oracle数据
在本教程中,您将了解内置Oracle数据类型的概述。
Oracle数据类型简介
在Oracle中,每个值都有一个数据类型,它定义了一组值。 这些特征导致Oracle将一种数据类型的值与另一种数据类型的值区分开来。 例如,您可以添加数据类型的值,但不能添加原始数据类型的值。
当创建一个新表时,可以为每个列指定一个数据类型。 同样,当创建一个新的过程时,要为它的每个参数指定一个数据类型。 数据类型定义每个列或参数可以存储的允许值。 例如,列不能存储2月30日的值,因为这不是有效的日期。
Oracle具有下表中所示的一些内置数据类型:
代码
数据类型
1
VARCHAR2(size [BYTE / CHAR])
1
NVARCHAR2(size)
2
8
LONG
12
DATE
22
BINARY_DOUBLE
23
RAW(size)
24
LONG RAW
69
ROWID
96
CHAR [(size [BYTE / CHAR])]
96
NCHAR[(size)]
112
CLOB
112
NCLOB
113
BLOB
114
BFILE
180
TIMESTAMP [(fractional_seconds)]
181
TIMESTAMP [(fractional_seconds)] WITH TIME ZONE
182
INTERVAL YEAR [(year_precision)] TO MONTH
183
INTERVAL DAY [(day_precision)] TO SECOND[(fractional_seconds)]
208
UROWID [(size)]
231
TIMESTAMP [(fractional_seconds)] WITH LOCAL TIMEZONE
每种数据类型都有由Oracle内部管理的代码。要查找列中值的数据类型代码,请使用DUMP()函数。
1. 字符数据类型
字符数据类型由:,NCHAR,VARCHAR2,NVARCHAR2和VARCHAR组成。NCHAR和NVARCHAR2数据类型用于存储Unicode字符串。
固定长度字符数据类型是CHAR,NCHAR,可变长度字符数据类型是:VARCHAR2和NVARCHAR2。
VARCHAR是VARCHAR2的同义词。 但是,不建议使用VARCHAR,因为Oracle将来可能会更改它的语义。
对于字符数据类型,可以用字节或字符指定它们的大小。
2. 数字数据类型
NUMBER数据类型具有精度p和比例s。精度范围从1到38,范围从-84到127。
如果不指定精度,那么该列可以存储包括定点数和浮点数的值。比例的默认值是零。
3. 日期时间和时间间隔数据类型
日期时间数据类型是,,和TIMESTAMP WITH LOCAL TIME ZONE。 日期时间数据类型的值是日期时间。
区间数据类型为和。 区间数据类型的值是区间。
4. RAW和LONG RAW数据类型
RAW和LONG RAW数据类型用于存储二进制数据或字节字符串,例如文档,声音文件和视频文件的内容。
RAW数据类型最多可以存储2000字节,而LONG RAW数据类型最多可以存储2GB。
5. BFILE数据类型
BFILE数据类型将定位器存储到位于数据库之外的大型二进制文件。 定位器由目录和文件名组成。
6. BLOB数据类型
BLOB代表二进制大对象。可以使用BLOB数据类型来存储最大大小为(4千兆字节 - 1)*(数据库块大小)的二进制对象。
7. CLOB数据类型
CLOB代表字符大的对象。使用CLOB存储单字节或多字节字符,最大大小为(4千兆字节 - 1)*(数据库块大小)。
请注意,CLOB支持固定字符集和变量字符集。
8. NCLOB数据类型
NCLOB与CLOB类似,不同的是它可以存储Unicode字符。
9. UROWID数据类型
UROWID主要用于ROWID伪列返回的值。它的值是基本的64个字符串,它们表示表中行的唯一地址。
10. 数据类型:Oracle和ANSI
将ANSI数据类型用于列定义时,Oracle将根据以下映射表将Oracle转换为其相应的数据类型:
ANSI SQL数据类型
Oracle SQL数据类型
CHARACTER(n), CHAR(n)
CHAR(n)
CHARACTER VARYING(n), CHAR VARYING(n)
VARCHAR2(n)
NATIONAL CHARACTER(n), NATIONAL CHAR(n), NCHAR(n)
NCHAR(n)
NATIONAL CHARACTER VARYING(n), NATIONAL CHAR VARYING(n), NCHAR VARYING(n)
NVARCHAR2(n)
NUMERIC(p,s), DECIMAL(p,s) (a)
NUMBER(p,s)
INTEGER, INT, SMALLINT
FLOAT (b), DOUBLE PRECISION (c), REAL (d)
在本教程中,您已经了解了内置Oracle数据类型的概述,包括字符,数字,日期时间,间隔,BLOB,CLOB,BFILE和ROWID。