Foxtable(狐表)用户栏目专家坐堂 → 想把SQL下面语句中,保留二位小数,老师应该怎么写?


  共有2966人关注过本帖树形打印复制链接

主题:想把SQL下面语句中,保留二位小数,老师应该怎么写?

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 9:19:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 9:41:00 [显示全部帖子]

1、不写round的时候,能否得到数值?

 

2、把代码在sqlserver数据库那里测试,得到什么?报什么错?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 11:03:00 [显示全部帖子]

参考这里写

 

https://www.cnblogs.com/yeagen/archive/2012/08/27/2658659.html

 

[此贴子已经被作者于2019/5/17 11:02:57编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 12:24:00 [显示全部帖子]

round((case when  b.金额 is null then 0.0 else 金额 end)-(case when  b.实收金额 is null then 0.0 else 实收金额 end)-(case when  b.优惠金额 is null then 0.0 else b.优惠金额 end),2) as 余额

 

如果还有问题,实例发上来测试


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 15:30:00 [显示全部帖子]

1、语句没问题,数据也没有问题。你金额列的类型是整型,从单价*数量过来的数据本身就已经是错了的啊。

 

2、请重新计算金额列的值,再核对你的结果。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 16:55:00 [显示全部帖子]

以下是引用xxfoxtable在2019/5/17 15:44:00的发言:

老师我就想把余额保留二位小数,怎么还涉及单价和数量呢?不用考虑单价和数量,就当没有那两列

[此贴子已经被作者于2019/5/17 16:51:25编辑过]

 

我测试,没问题啊,请截图说明哪里的数据有问题。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/17 17:47:00 [显示全部帖子]

无语

 

22079.8+20.2 = 22100 啊,相减余额,就应该是0啊

 

而且那个 0.0000000000728 四舍五入,就是0啊


 回到顶部