数据库保存两位小数类型--Decimal

更新时间:2023-07-26 19:36:43 阅读: 评论:0

decode函数数据库保存两位⼩数类型--Decimal人心太复杂
smoke是什么意思
昨天有个⼩需求,要在数据库⾥保存两种占⽐的数据,说到占⽐,我第⼀反应就是要保存成⼩数,因为编程经验太少了,不知道要定义成什么类型,搜了⼀下得知,可以设置成DECIMAL,但我在alter表的时候,写的是DECIMAL类型,但保存之后变成了NUMBER类型,这样我算出来的⼩数结果就都变成了四舍五⼊的整数...先说⼀下,我⽤的是Oracle数据库。NUMBER的话要设置成 NUMBER(p,s)
声明⼀个定点数 p(precision)为精度,s(scale)表⽰⼩数点右边的数字个数,精度最⼤值为38,,scale的取值范围为-84到127
我⽤的Navicat⼯具,直接在类型上⾯写NUMBER(8,4)并不成功,原来是后⾯的那两栏,⽐例就代表的是⼩数位数,如图:
不过我还是想搞明⽩为什么明明设置的是DECIMAL类型⽽保存之后却变成了NUMBER
然后在某⽹站看到⼀篇超详解,简直太赞了!简单整理⼀下分享给⼤家:
Oracle只是在语法上⽀持decimal类型,但是在底层实际上它就是number类型,⽀持decimal类型是为了能把数据从Oracle数据库移到其他数据库中。Decimal从根本上说应该是数字类型的,因为Oracle数据库内部的数据类型对于数字只有Number类型,都当数字类型处理即可。decimal(8,2)代表数字总共8位长度,⼩数部分是2位。范围是8位,精确到⼩数点后2位,并四舍五⼊,即存6位整数,两位⼩数。也就是最⼤值可以是999999.99,可存放2位⼩数。Oracle中,可以使⽤to_char函数对数字进⾏转换,使它变成字符类型.
Number的话,上⾯有说了,NUMBER(p,s)  p表⽰精度,s表⽰⼩数点后⾯的位数,但要注意:我的好姐妹
气势磅礴的音乐当⼀个数的整数部分的长度> p-s 时,Oracle就会报错,
红的反义词是什么
当⼀个数的⼩数部分的长度> s 时,Oracle就会舍⼊。
酒川芎的功效与作用
当s(scale)为负数时,Oracle就对⼩数点左边的s个数字进⾏舍⼊。
当s > p时, p表⽰⼩数点后第s位向左最多可以有多少位数字,如果⼤于p则Oracle报错,⼩数点后s位向右的数字被舍⼊.
>美缝的好处与弊端

本文发布于:2023-07-26 19:36:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1118704.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:类型   数字   保存   数据库   变成   数点   个数   部分
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图