mysql int number_oracle中int与number的区别

oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。 int类型只能存储整数; number可以存储浮点数,也可以存储整数; number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全; number(8)存储总长度

oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。

int类型只能存储整数;

number可以存储浮点数,也可以存储整数;

number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;

number(8)存储总长度为8的整数;

int相当于number(22),存储总长度为22的整数。

举例说明:

--创建表结构

SQL> create table tab(id0 int,id1 number,id2 number(8,1),id3 number(8));

Table created

SQL>

--插入测试数据

SQL> insert into tab select 1,1.5,1.6,8 from dual;

1 row inserted

SQL> insert into tab select 1,1.55,1.6,8 from dual;

1 row inserted

SQL> insert into tab select 1,1.595,1,8 from dual;

1 row inserted

SQL> commit;

Commit complete

SQL> select * from tab;

ID0 ID1 ID2 ID3

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

1 1.5 1.6 8

1 1.55 1.6 8

1 1.595 1.0 8

--查询数据字典表dba_tab_columns

SQL> select table_name,column_name,data_type,data_length,data_precision,data_scale from dba_tab_columns a

2 where table_name='TAB'

3 and owner='NETMAX'

4 order by column_id;

TABLE_NAME COLUMN_NAME DATA_TYPE DATA_LENGTH DATA_PRECISION DATA_SCALE

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

TAB ID0 NUMBER 22 0

TAB ID1 NUMBER 22

TAB ID2 NUMBER 22 8 1

TAB ID3 NUMBER 22 8 0

SQL>

在dba_tab_columns表中,

Data_type表示字段类型;

Data_length表示字段类型的长度;

Data_Precision表示字段类型的精度的总长度,如果为null,表示精度的总长度不固定,最长为Data_Length;

Data_scale表示字段类型的精度范围,如果为0,表示只能存储为整数,

如果为null,表示可以存储整数或者浮点数,浮点数位数不确定,

如果为整数,表示存储的精度位数。

查询dba_tab_columns表,发现tab表中ID0字段类型int已经被转换为number(22)。

来源:http://blog.csdn.net/ojuju10/article/details/4576446

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

Oracle中NVARCHAR2与VARCHAR2的区别

VARCHAR2是Oracle提供的特定数据类型,Oracle可以保证VARCHAR2在任何版本中该数据类型都可以向上和向下兼容。

VARCHAR在Oracle中不建议使用。

具体到NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则

1、NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符。

2、而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个。

来源:http://www.cnblogs.com/flyingfish/archive/2010/01/15/1648448.html

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值