永发信息网

SQL用sum结果有误

答案:5  悬赏:40  手机版
解决时间 2021-02-12 12:41
SQL用sum结果有误
最佳答案
float是近似值类型,数据不精确,最好用decimal或者numeric类型
全部回答
to_number后再sum追问float也算数字类型啊
你sum后他会自动把你的数据类型往上一级扩充的,你如果还想要你的原定类型就在前面加一个convert。追问就算再转换类型那还是有十位小数啊
字段里虽然是两位的,但实际浮点的格式不是两位,
float类型中小数位数为7位,即可精确到小数点后7位,表示范围为1.5e - 45~ 3.4e + 38。对于一个小数其默认类型为double型,如果需要指定为float型,需要在小数后面添加F或f后缀。

要固定小数位要用decimal或numeric
例,decimal(2,1),有效长度为2,小数位占1位。

或者在原有有数据基础上进行四舍五入

Sql截取浮点小数位数,不四舍五入
round(551.239567,2,0)
结果:551.24
round(551.239567,2,1)结果:551.23
第一个2表示截取2位第二个0,1分别表示0是四舍五入,0以外是截取追问也就是说如果是float类型的就无法避免哦,必须进行四舍五入哦,那我有几个字段,为什么只有n7这个字段会出现这种情况,其他字段还是有小数点后两位,但是sum累加后是正确的
sqlserver无法使用to_number函数
cast(SUM(n7) as decimal(18,2))

用这样就好了追问亲,你这个是保留有效数字啊,但是我的n7字段里的数据都是小数点后两位的,没有10位的,怎么用sum累加后会变成10位的了追答哎,这个没办法啊
SqlServer的帮助中是这样描述float类型的:用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。
所以今后这个类型一定要慎用
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
23岁男人适合穿什么品牌鞋子?
中宠宠物用品有限公司地址在哪,我要去那里办
中国邮政速递物流怎么去啊,有知道地址的么
你说赣南医学院附属医院很好,不知是不是,我
粤宠宠物医院湖景店地址在什么地方,想过去办
【口角春风】口角春风怎么造句?口角:嘴边。原
绿鲜果园地址在哪,我要去那里办事
有的小孩生来天生叫爸爸多些?有的小孩天生下
奥宝动物诊所地址好找么,我有些事要过去
属牛2017年运势及运程麦玲玲
睡床上感觉身体在向前移动或者旋转是怎么回事
昌江村地址有知道的么?有点事想过去
男:丁卯年=壬寅月=丁未日=壬寅时 此命丁壬合
在“探究淀粉酶对淀粉和蔗糖的作用”实验中,
结婚照放在地下室有说法吗,很想知道
推荐资讯
下图是文艺复兴时期意大利艺术大师达·芬奇的
水在蒸发的过程中,下列说法正确的是( ) A
去日本打工去食品厂好还是电子厂好
泉州华荣书屋这个地址在什么地方,我要处理点
学生参观汽车修理厂应注意哪些
梦幻西游中,捉鬼任务的那些鬼究竟分多少种?
某公司销售一幢已经使用过的办公楼,取得收入
永兴邮政储蓄24小时自助银行(迎湄路)怎么去啊
【其乐无穷的意思】不屑一顾的意思。其乐无穷
18层住宅6楼14楼好不好
安裕中区社区居委会怎么去啊,我要去那办事
鄱阳早餐店在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?