ORACLE基本数据类型总结

1.     字符类型


数据类型


长度


说明


CHAR(n)


默认1字节,n值最大为2000


末尾填充空格以达到指定长度,超过最大长度报错。默认指定长度为字节数,字符长度可以从1字节到四字节。


NCHAR(n)


默认1字符,最大存储内容2000字节


末尾填充空格以达到指定长度,n为Unicode字符数。默认为1字节。


NVARCHAR2(n)


最大长度必须指定,最大存储内容4000字节


变长类型。n为Unicode字符数


VARCHAR2(n)


最大长度必须指定,至少为1字节或者1字符,n值最大为4000


变长类型。超过最大长度报错。默认存储的是长度为0的字符串。


VARCHAR


同VARCHAR2


不建议使用

2.     数字类型


数据类型


长度


说明


NUMBER(p[,s])


1-22字节。

P取值范围1到38

S取值范围-84到127


存储定点数,值的绝对值范围为1.0 x 10 -130至1.0 x 10 126。值大于等于1.0 x 10 126时报错。p为有意义的10进制位数,正值s为小数位数,负值s表示四舍五入到小数点左部多少位。


BINARY_FLOAT


5字节,其中有一长度字节。


32位单精度浮点数类型。

符号位1位,指数位8位,尾数位23位。


BINARY_DOUBLE


9字节,其中有一长度字节。


64位双精度浮点数类型。

3.     时间、时间间隔类型

时间字段可取值范围:


时间字段


时间类型有效值


时间间隔类型有效值


YEAR


-4712至9999,包括0


任何整数


MONTH


01至12


0至11


DAY


01至31


任何整数


HOUR


00 至 23


0 至 23


MINUTE


00 至 59


0至 59


SECOND


00 to 59.9(n),9(n)不适用与DATE类型


0 to 59.9(n)


TIMEZONE_HOUR


-1至14,不适用与DATE和TIMESTAMP类型


不可用


TIMEZONE_MINUTE


00至59,不适用与DATE和TIMESTAMP类型


不可用


TIMEZONE_REGION


不可用


TIMEZONE_ABBR


不可用

时间、时间间隔类型:


数据类型


长度


说明


DATE


7字节


默认值为SYSDATE的年、月,日为01。包含一个时间字段,若插入值没有时间字段,则默认值为:00:00:00 or 12:00:00 for 24-hour and 12-hour clock time。没有分秒和时间区。


TIMESTAMP [(fractional_seconds_precision)]


7至11字节


fractional_seconds_precision为Oracle存储秒值小数部分位数,默认为6,可选值为0到9。没有时间区。


TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE


13字节


使用UTC,包含字段YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, TIMEZONE_

HOUR, TIMEZONE_MINUTE


TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE


7至11字节


存时使用数据库时区,取时使用回话的时区。


INTERVAL YEAR [(year_precision)] TO MONTH


5字节


包含年、月的时间间隔类型。year_precision是年字段的数字位数,默认为2,可取0至9。


INTERVAL DAY [(day_precision)]

TO SECOND [(fractional_seconds_precision)]


11字节


day_precision是月份字段的数字位数,默认为2,可取0至9。

  1. TO_DATE()、DATE使用的时间字段值都是午夜值。或者使用TRUNC()函数进行过滤,确保时间字段为午夜值。
  2. 时间和时间间隔类型操作规则:

在DATE和TIMESTAMP(会被转化为DATE类型值)类型上加、减NUMBER类型常量,该常量单位为天数。

所有TIMESTAMP类型运算都以UTC时间为准。即对于TIMESTAMP WITH LOCAL TIME ZONE来说,先转化为UTC时间,计算完成后再转化回来。

  1. INTERVAL YEAR TO MONTH常量:

INTERVAL‘year-month’YEAR/MONTH(precision) TO MONTH

year位数超过precision时,返回一个错误。

其中precision为最大的位数,默认为2,可取0到9。

例子:INTERVAL ‘123-2‘ YEAR(3) TO MONTH 、

INTERVAL ‘123‘ YEAR(3) 、

INTERVAL ‘300‘ MONTH(3)。

  1. INTERVAL DAY TO SECOND常量:

INTERVAL ‘n/time_expr/n time_expr’ DAY/HOUR/MINUTE(leading_precision)  TO  HOUR/MINUTE/SECOND(fractional_second_precision)

INTERVAL ‘n/time_expr’ SECOND(leading_precision, fractional_second_precision)

time_expr格式:HH[:MI[:SS[.n]]] or MI[:SS[.n]] or SS[.n] 若n大于分秒精度,则四舍五入n。

只有当第一个字段是DAY时,才可以使用n time_expr。

leading_precision默认为2,可取0至9。

4.     大对象类型


数据类型


长度


说明


BLOB


最大为(4GB-1)*数据库块大小


存储非结构化二进制文件。支持事务处理。


CLOB


最大为(4GB-1)*数据库块大小


存储单字节或者多字节字符数据。支持事务处理。


NCLOB


最大为(4GB-1)*数据库块大小


存储Unicode数据。支持事务处理。


BFILE


最大为2 32-1字节


LOB地址指向文件系统上的一个二进制文件,维护目录和文件名。不参与事务处理。只支持只读操作。

  1. LOB列包含一个LOB地址,指向数据库内或者数据库外的LOB类型值。

5.     其他类型


数据类型


长度


说明


LONG


最大为2GB


变长类型,存储字符串。创建表时不要使用该类型。


RAW(n)


最大2000字节,n为字节数,必须指定n


变长类型,字符集发生变化时不会改变值。


LONG RAW


最大为2GB


变长类型,不建议使用,建议转化为BLOB类型,字符集发生变化时不会改变值。


ROWID


10字节


代表记录的地址。显示为18位的字符串。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。


UROWID(n)

  1. ROWID:数据对象编号32位(6个字符)、文件编号10位(3个字符)、块编号22位(6个字符)、行编号16位(3个字符)
  2. 使用dqms_rowid包获得ROWID信息:

select dbms_rowid.rowid_object(rowid) object_id,               
dbms_rowid.rowid_relative_fno(rowid)
file_id,                                                                  
dbms_rowid.rowid_block_number(rowid)
block_id,                                                                 
dbms_rowid.rowid_row_number(rowid) num                              
                                           from dept;

时间: 2024-12-12 00:25:23

ORACLE基本数据类型总结的相关文章

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

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

【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

ORACLE的数据类型的长度合集

--  ORACLE的数据类型常用的数据库字段类型如下:字段类型 中文说明 限制条件 其它说明CHAR 固定长度字符串 最大长度2000 bytesVARCHAR2 可变长度的字符串 最大长度4000 bytes  可做索引的最大长度749NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题LONG 超

Oracle 基本数据类型【下】

Oracle数据中讨论 char , varchar , varchar2 数据类型:       这三种类型是我们使用最多的,在数据库中我们该怎么使用呢? 1.CHAR的长度是固定的,最多2000个字符串.. 2.VARCHAR , VARCHAR2可以肯定的是在oracle中目前是可以使用CARCHAR数据类型..    他们的区别在网上找了半天也没有准确的答案,说是oracle中varchar是varchar2的同义词,也称别名..    其次也有人认为varchar是最大长度为2000的

关于oracle中数据类型的选择

由于是初学,犯了如下错误: 生成表的主键id时,用当前时间的毫秒值.而在oracle中定义主键id时,用的数据类型是char(32).在mybatis中通过id取数据怎么也取不出来.想了好几天,本来以为是浏览器中取id是带有空值,于是乎就用trim()函数去除空值,但还是没有查出数据,最后才发现是数据库中的数据类型定义成固定长度了,当前时间的毫秒值只有16位,而char(32)就是固定长度的32位,意思也就是说有16位是空格了,所有没法取出数据.动手将char(32)改成varchar2(32)

Oracle基本数据类型 【上】

1.字符数据型(CHAR,VARCHAR2,LONG)      CHAR:以存储字母数字值,这种数据类型的列长度可以是1到2000个字节.如果未指明,则默认其占用一个字节,如果用户输入的                值小于指定的长度,数据库则用空格填充至固定长度..     VARCHAR2:其实就是VARCHAR,只不过后面多了一个数字2,VARCHAR2就是VARCHAR的同义词,也称别名.数据类型大小                         在1至4000个字节,但是和 CHA

oracle中数据类型对应java类型

地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/doc_cd/Java.102/B19275-03/datacc.htm#BHCJBJCC SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型   1.0标准的JDBC类型:     CHAR java.sql.Types.CHAR java.lang.String oracle.sql.CHAR VARCHAR2 java.sql.T

Oracle 常用数据类型(转)

varchar2(6) 张三 --在jbk中是两个字节,在utm中是三个字节char(6) 张 三 --可以确定长度的用charclob --大存储,没事少用,当多余4000字节时,会用lob来存储,效率变低 number 100.123 --精度为6(整数加小数),number的精度为38number(4) 9999 -9999 --只能存储整数number(5,2)123.45--整数位加小数位的精度不超过5,小数位精度不超过2number(5,2)1234.5--整数位加小数位的精度超过5