字段除1.17如何保留小数点后15位

liuyangxwg 2018-04-02 11:31:49
sql server 2000 下通过select convert(decimal(25,17),字段/1.17),结果只能显示到小数点后6位,剩余位数都是0,请教下应该如何操作呢,如字段数值为5.2,那显示为4.4444440000000000
...全文
637 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
所以应该先转换 原始数据类型 再进行计算
吉普赛的歌 2018-04-02
  • 打赏
  • 举报
回复
引用 4 楼 liuyangxwg 的回复:
这个就奇怪了我这边2000就直接带个5
可能是 bug 了。 看有没有安装 sp4 ? 建议至少升级到 SQL Server2008. 最好升级到 SQL Server2014 或2016, 2017 . https://blog.csdn.net/yenange/article/details/50549937 https://blog.csdn.net/yenange/article/details/52980135 https://blog.csdn.net/yenange/article/details/78622559
liuyangxwg 2018-04-02
  • 打赏
  • 举报
回复
这个就奇怪了我这边2000就直接带个5
吉普赛的歌 2018-04-02
  • 打赏
  • 举报
回复
引用 2 楼 liuyangxwg 的回复:
出现一个新问题,为什么5.2或者10.4除完之后的数不对劲呢,5.2除1.17得到的不是4.444444444444而是4.44444454444444000
我用了 SQL Server2005, 2014 执行 #1 的代码都是 4.444444444444444444444
liuyangxwg 2018-04-02
  • 打赏
  • 举报
回复
出现一个新问题,为什么5.2或者10.4除完之后的数不对劲呢,5.2除1.17得到的不是4.444444444444而是4.44444454444444000
吉普赛的歌 2018-04-02
  • 打赏
  • 举报
回复
select convert(decimal(25,17),5.2/1.17) AS err,convert(decimal(25,17),5.2)/1.17 AS correct
/*
err	                    correct
4.44444400000000000	4.444444444444444444444
*/

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧