注意:本例是在 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 下测试完成,不保证其它版本也是同样结果。
int这个类型在oracle里是number的子类型,因为书写方便范围广阔深受我的喜欢。
今天受一位老哥的启发,特地去查了一下int的范围,有的网文说是22位,有的说是38位,还有说更多的,不一而足。
于是我建表尝试了一下:
SQL> create table sample( 2 id int, 3 price number(6,2), 4 count number(3), 5 name nvarchar2(20), 6 primary key(id)); 表已创建。
插值:
insert into sample values(999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999998,3.14,81,'梨子');
执行效果:
SQL> insert into sample values(999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999998,3.14,81,'梨子'); 已创建 1 行。 SQL> commit;
上面这一串数字有多少位呢,一个0代表十位,而999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999999999099999999909999999990999998有126位!
看来int的上限真是大得吓人。
-END-