Oracle 和 PLSQL中支持的数据类型

以下是 Oracle PLSQL中支持的数据类型的列表。我们还列出了在 Oracle 8i Oracle 9i中所支持数据类型的差别:

数据类型标识符

Oracle 8i

Oracle 9i

解释
(
是否适用)

dec(p, s)

最大精确度是38

最大精确度是38

p是精确度,s是范围

例如:dec(3,1)是指这样一个数字:小数点前2位数字,小数点后1位数字

decimal(p, s)

最大精确度是38

最大精确度是38

p是精确度,s是范围

例如:decimal(3,1)是指这样一个数字:小数点前2位数字,小数点后1位数字

double precision

 

 

 

float

 

 

 

int

 

 

 

integer

 

 

 

numeric(p, s)

最大精确度是38

最大精确度是38

p是精确度,s是范围

例如:numeric (7,2)是指这样一个数字:小数点前5位数字,小数点后2位数字

number(p, s)

最大精确度是38

最大精确度是38

p是精确度,s是范围

例如:numeric (7,2)是指这样一个数字:小数点前5位数字,小数点后2位数字

real

 

 

 

smallint

 

 

 

char (size)

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 8i

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 9i

size是存储的字符数

定长字符串,空格填充

varchar2 (size)

最多 32767 个字节在 PLSQL

最多 4000 个字节在 Oracle 8i

最多 32767 个字节在 PLSQL

最多 4000 个字节在 Oracle 9i

size是存储的字符数

变长字符串

long

最多二十亿字节

最多二十亿字节

变长字符串(向后兼容)

raw

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 8i

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 9i

变长二进制字符串

long raw

最多二十亿字节

最多二十亿字节

变长二进制字符串(向后兼容)

date

从公元前 4712 11   公元 9999 1231

从公元前 4712 11   公元 9999 1231

 

timestamp (fractional seconds precision)

Oracle 8i 不支持

fractional seconds precision 必须是0 9的数 (默认是 6)

包括年、月、日、时、分、秒

例如: timestamp(6)

timestamp (fractional seconds precision) with time zone

Oracle 8i 不支持

fractional seconds precision 必须是0 9的数 (默认是 6)

包括年、月、日、时、分、秒。包括一个时区置换值

例如: timestamp(5) with time zone

timestamp (fractional seconds precision) with local time zone

Oracle 8i 不支持

fractional seconds precision 必须是0 9的数 (默认是 6)

包括年、月、日、时、分、秒。 time zone 表示绘画时区

例如:timestamp(4) with local time zone

interval year
(
精确到年)
to month

Oracle 8i 不支持

fractional seconds precision 必须是0 9的数 (默认是 2)

按年月存储时间段

例如:
interval year(4) to month

interval day
(day precision)
to second (fractional seconds precision)

Oracle 8i 不支持

day precision必须是0 9的数 (默认是 2)

fractional seconds precision必须是0 9的数 (默认是 6)

按日、时、分、秒保存时间段

例如:
interval day(2) to second(6)

rowid

rowid 的格式如下::
BBBBBBB.RRRR.FFFFF

BBBBBBB是数据库文件中的块

RRRR是块中的行

FFFFF是数据库文件

rowid 的格式如下::
BBBBBBB.RRRR.FFFFF

BBBBBBB是数据库文件中的块

RRRR是块中的行

FFFFF是数据库文件

定长二进制数据

数据库中的每一条记录都有一个物理地址或者一个rowid

 

urowid [size]

最多2000 个字节

最多2000 个字节

通用(Universal rowid.

Size可选

boolean

PLSQL中可用, Oracle 8i中无此数据类型

PLSQL中可用, Oracle 9i中无此数据类型

 

nchar (size)

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 8i

最多 32767 个字节在 PLSQL

最多 2000 个字节在 Oracle 9i

Size是所存储的字符数

定长NLS 字符串

nvarchar2 (size)

最多 32767 个字节在 PLSQL

最多 4000 个字节在 Oracle 8i

最多 32767 个字节在 PLSQL

最多 4000 个字节在 Oracle 9i

Size是所存储的字符数

变长NLS 字符串

bfile

最多四十亿字节

最多四十亿字节

文件位置(locators)指向一个数据库外的只读二进制对象

blob

最多四十亿字节

最多四十亿字节

LOB locators 指向一个数据库内的大二进制对象

clob

最多四十亿字节

最多四十亿字节

LOB locators 指向一个数据库内的大字符对象

nclob

最多四十亿字节

最多四十亿字节

LOB locators 指向一个数据库内的大NLS字符对象that

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值