decimal(长度,小数位数)类型是这样子的,保存不了小数说明你长数长度位定义是0
在酒泉等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站制作 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站建设,全网营销推广,成都外贸网站制作,酒泉网站建设费用合理。
alter
table
d_ami
alter
column
miprice
decimal(18,2)
这句代码用于变更列值类型,加两位小数。
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2)) 结果:12.50
select cast(round(12.555,2) as numeric(5,2)) 结果:12.56
select cast(round(122.5255,2) as numeric(5,2)) 结果:122.53
select cast(round(1222.5255,2) as numeric(5,2)) 结果:报错了! 原因是:1222.5255,整数位是4,小数位是2,加起来4+2=6,超出了numeric设置的5位,所以为了保险,可以增减numeric的参数,例如numeric(20,2)。
你可以改字段属性 number(10,2) 长度10位,小数点后取两位
select substr('123.234',INSTR('123.234','.')+1,2) from dual; 答案是23
不知道满足你的需求没?