sql 里怎么用语句裁断小数点后两位

bookprice 和bookpricesell 这两个表里面超长了的

    你可以改字段属性 number(10,2) 长度10位,小数点后取两位

    select substr('123.234',INSTR('123.234','.')+1,2) from dual;  答案是23

    不知道满足你的需求没?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-20
把数字乘100取整再除100,就可以啦。
第2个回答  2015-04-20
sqlserver的话
select cast(bookprice as decimal(18,2))
from 表
这样不就可以了追问

我要把裁断更新到数据库里面去。。。

追答

没明白,,,你这不是查询出来就是39.7999999这样吗,,,
你想怎么样,,,
如果是更新
update 表 set bookprice=cast(bookprice as decimal(18,2))
不是一样的吗

追问

不知道怎么的update了还是变回来了,在数据库里面没有变一样

追答

,,,怎么可能,,如果是单纯的表更新这种肯定没问题的,,,你说又变回去的可能

    表里面有触发器

    库里面有更新的函数或过程

    create table test(id money)

    insert into test(id)

    select 1.3333333333333333

    update test set id=cast(id as decimal(18,2))

    你这样测试下酒知道了,肯定没问题的

本回答被提问者采纳
相似回答