在oracle中创建表的时候number(8,2)表示什么意思

2024-11-27 22:50:19
推荐回答(4个)
回答1:

范围是8位,精度为2,即存6位整数,两位小数。
其实这样的问题你在oracle测试下number(2,1)就明白了,这么贴出来解决问题反而很慢。

回答2:

SQL> create table test(id1 number,id2 number(8),id3 number(8,2))
2 tablespace mytbs;

表已创建。

SQL> desc test;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------

ID1 NUMBER
ID2 NUMBER(8)
ID3 NUMBER(8,2)

SQL> insert into test
2 values(2.11,2.11,2.11);

已创建 1 行。

SQL> select * from test;

ID1 ID2 ID3
---------- ---------- ----------
2.11 2 2.11

SQL> column id2 format 99999.99;
SQL> select * from test;

ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11

SQL> insert into test
2 values(2.121,2.121,2.121);

已创建 1 行。

SQL> select * from test;

ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11
2.121 2.00 2.12

SQL> insert into test
2 values(2.666,2.666,2.666);

已创建 1 行。

SQL> select * from test;

ID1 ID2 ID3
---------- --------- ----------
2.11 2.00 2.11
2.121 2.00 2.12
2.666 3.00 2.67
对比一下你就知道什么意思了···

回答3:

表中字段为number型,有效位数是8,精确到小数点后两位,并四舍五入!
希望能帮到你!

回答4:

number(8,2)相当于decimal(8,2)