Foxtable(狐表)用户栏目专家坐堂 → [求助]SQL 表达式计算列的四舍五入


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

主题:[求助]SQL 表达式计算列的四舍五入

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


加好友 发短信
等级:婴狐 帖子:26 积分:265 威望:0 精华:0 注册:2018/7/29 7:15:00
[求助]SQL 表达式计算列的四舍五入  发帖心情 Post By:2018/8/4 10:29:00 [只看该作者]

在数据表中,可以使用 (Convert([单价]*[金额], 'System.Int32')*100)/100 达到只保留两位小数
在SQL查询语句中,怎样才能实现这样的功能?
这是为了保证两个数据的一致


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


加好友 发短信
等级:超级版主 帖子:106716 积分:542775 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 10:43:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:26 积分:265 威望:0 精华:0 注册:2018/7/29 7:15:00
[求助]  发帖心情 Post By:2018/8/4 13:06:00 [只看该作者]

数据表的表达式列 
用表达式
Convert([数量]*[单价]*10, “System.Int32")/10  
可以 四舍五入,保留一位小数
如 3.589 -> 3.6

我要实现截断的效果:
3.589 -> 3.5
CInt([数量]*[单价]*10)/10, 不支持
Floor([数量]*[单价]*10)/10,不支持

用什么方式呢?


[此贴子已经被作者于2018/8/4 13:10:26编辑过]

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


加好友 发短信
等级:超级版主 帖子:106716 积分:542775 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/4 13:56:00 [只看该作者]

Convert('System.Int64', [数量]*[单价]*10 - 0.04999999) / 10

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


加好友 发短信
等级:婴狐 帖子:26 积分:265 威望:0 精华:0 注册:2018/7/29 7:15:00
  发帖心情 Post By:2018/8/4 18:57:00 [只看该作者]

谢谢!

截断,保留1位小数为
Convert([数量]*[单价]*10 - 0.4999999, 'System.Int64') / 10 


 回到顶部