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)之间。