oracle怎么定义小数 Oracle 小数

oracle数据库中的number数据类型疑问

不加默认值当然不会自动为0了。读取的时候值为NULL

目前成都创新互联公司已为近1000家的企业提供了网站建设、域名、网络空间、网站托管维护、企业网站设计、苏仙网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

定义时注明小数位例如 number(18,4) 4即为小数位。

想要默认值是0可以在定义字段时候在后面加上default 0

例 create table test(

id number(10,2)default 0,

name varchar2(20)

);

再执行insert into test(name) values('a');后

查询 select id from test where name='a';

结果就是0.00

oracle中直接定义number类型不带括号究竟含不含小数或负数

oracle的number类型带括号时如:NUMBER(P,S),只是用来指定所存储数据的精度等制约条件的,当所存储的数据超出你预先指定的精度的时候,Oracle会给你返回一个错误。反过来说,但你不指定精度等制约条件的是时候,也就是你默认使用Oracle自身所设定的最大精度等制约条件,当然是可以用来存储负数或小数的。如下,Oracle官方文档上是这样描述的。(描述中的precision 就是上文中的P,scale就是上文中的S)

Specify a floating-point number using the following form:

NUMBER

The absence of precision and scale designators specifies the maximum range and

precision for an Oracle number.

oracle 10g用啥表示小数类型

还是number型。

参考以下定义:

NUMBER ( precision, scale)

precision表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。

scale表示数字小数点右边的位数,scale默认设置为0. 如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

oracle 怎么样存储小数

oracle 关于数字存储的主要有下面几个:

NUMBER(P,S) 数字类型 P为整数位,S为小数位

DECIMAL(P,S) 数字类型 P为整数位,S为小数位

INTEGER 整数类型 小的整数

FLOAT 浮点数类型 NUMBER(38),双精度

REAL 实数类型 NUMBER(63),精度更高

oracle 保留小数问题

数据类型定义一下,例如number(p.s)

数据的总位数是p

对s分2种情况:

1. s0

精确到小数点右边s位,并四舍五入。然后检验有效数位是否=p;如果sp,小数点右边至少有s-p个0填充。

2. s0

精确到小数点左边s位,并四舍五入。然后检验有效数位是否=p+|s|

123.2564 NUMBER 123.2564

1234.9876 NUMBER(6,2) 1234.99

12345.12345 NUMBER(6,2) Error

1234.9876 NUMBER(6) 1235

12345.345 NUMBER(5,-2) 12300

1234567 NUMBER(5,-2) 1234600

12345678 NUMBER(5,-2) Error

123456789 NUMBER(5,-4) 123460000

1234567890 NUMBER(5,-4) Error

12345.58 NUMBER(*, 1) 12345.6

0.1 NUMBER(4,5) Error

0.01234567 NUMBER(4,5) 0.01235

0.09999 NUMBER(4,5) 0.09999

number(10,2)就是总共10位数,并精确到小数点后两位。希望对你有帮助。


分享标题:oracle怎么定义小数 Oracle 小数
分享地址:http://azwzsj.com/article/hhosei.html