Oracle INT类型长度最大可达几位?(oracleint长度)


Oracle INT类型对应于Oracle数据库中的整数(integer)类型,能够存储带符号整数,允许表最多38位,数值范围在-2^127 (-2的127次方)至2^127-1(2的127次方减1)之间。Oracle中的INT类型数据包含4个部分:符号、指数值、尾数值和掩码,其中前三个是Oracle内部非常重要的组成。

一般来说,Oracle数据库中的INT类型数据的长度最大可达38位,它的具体数据范围如下:

– INT8位:-128至127

– INT16位:-32768至32767

– INT24位:-8388608至8388607

– INT32位:-2147483648至2147483647

– INT64位:-9223372036854775808至9223372036854775807

– INT128位:-170141183460469231731687303715884105728至170141183460469231731687303715884105727

在使用Oracle INT类型时,除了注意INT类型的数据字长,还要特别注意Oracle中的表容量限制。从Oracle 12c (12.1.0.2)开始,Oracle改变了其存储格式,支持128位INT类型。

示例:

SQL> create table t1 (

2 col1 INT8

3 );

Table created.

— 创建INT32数据类型的表

SQL> create table t2 (

2 col1 INT32

3 );

Table created.

— 创建INT64数据类型的表

SQL> create table t3 (

2 col1 INT64

3 );

Table created.

— 创建INT128数据类型的表

SQL> create table t4 (

2 col1 INT128

3 );

Table created.

结论:

从上述内容可以看出,Oracle INT类型长度最大可达38位,且从Oracle 12c (12.1.0.2)开始,支持128位INT类型,它的具体数据范围是从-2^127(-2的127次方)至2^127-1(2的127次方减1)之间。