oracle数据保存类型数据,oracle 数值类型都转换为number类型存储

oracle中所有的数值类型除了binary_float和binary_double之外,

其他的数据类型都转换为number类型存储。

number类型是一种变长格式,长度范围[0~22],精度可达38

numeric(p,s):完全映射至number(p,s),p默认为38

decimal(p,s)或dec(p,s):完全映射至number(p,s)

integer或int:完全映射至number(38)

smallint:完全映射至number(38)

float(b):映射至number类型

double precision:映射至number类型

real:映射至number类型

create table tb(

col_1 number(5,5),

col_2 numeric(10),

col_3 decimal(38),

col_4 int,

col_5 smallint,

col_6 double precision,

col_7 real,

col_8 float);

select column_name,data_type,data_length,data_precision,data_scale

from user_tab_columns

where table_name='TB';

COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE

------------------------------ -------------------------- ------------- -------------- ----------

COL_1 NUMBER 22 5 5

COL_2 NUMBER 22 10 0

COL_3 NUMBER 22 38 0

COL_4 NUMBER 22 0

COL_5 NUMBER 22 0

COL_6 FLOAT 22 126

COL_7 FLOAT 22 63

COL_8 FLOAT 22 126

COL_9 BINARY_FLOAT 4

COL_10 BINARY_DOUBLE 8

从data_length这列看,上面所有的数值类型长度都是22字节,说明所有的类型都映射至了number类型。

binary_float:占用磁盘5个字节,其中4个固定字节用于存储浮点数,1个为长度字节。

binary_double:占用磁盘9个字节,其中8个固定字节用于存储浮点数,1个为长度字节。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值