Foxtable(狐表)用户栏目专家坐堂 → [求助]枚举值太大,不能适应 96 位十进制


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

主题:[求助]枚举值太大,不能适应 96 位十进制

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


加好友 发短信
等级:幼狐 帖子:141 积分:1131 威望:0 精华:0 注册:2014/3/25 13:14:00
[求助]枚举值太大,不能适应 96 位十进制  发帖心情 Post By:2017/11/19 17:45:00 [只看该作者]

S el ec t MAX(WOR1.PlannedQty / (Case WHEN WOR1.BaseQty >= 1 Then floor(WOR1.BaseQty) Else 1 End)) As 最大毛坯 FROM OWOR INNER JOIN WOR1 ON OWOR.DocEntry = WOR1.DocEntry WHERE OWOR.DocNum = 1252

sql里面执行没有问题,在foxtable里面执行出现问题:枚举值太大,不能适应 96 位十进制。

问题出在floor(),WOR1.BaseQty 这个值8000左右以上就会出错。



[此贴子已经被作者于2017/11/19 17:59:12编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/19 19:28:00 [只看该作者]

1、这样测试有没问题?

 

Select WOR1.PlannedQty / (Case WHEN WOR1.BaseQty >= 1 Then floor(WOR1.BaseQty) Else 1 End) As 最大毛坯 FROM OWOR INNER JOIN WOR1 ON OWOR.DocEntry = WOR1.DocEntry WHERE OWOR.DocNum = 1252

 

2、这样测试有没问题?

 

select max(最大毛坯) from (Select WOR1.PlannedQty / (Case WHEN WOR1.BaseQty >= 1 Then floor(WOR1.BaseQty) Else 1 End) As 最大毛坯 FROM OWOR INNER JOIN WOR1 ON OWOR.DocEntry = WOR1.DocEntry WHERE OWOR.DocNum = 1252) as a

 

3、这样测试有没问题?

 

Select max(WOR1.PlannedQty / (Case WHEN WOR1.BaseQty >= 1 Then round(WOR1.BaseQty) Else 1 End)) As 最大毛坯 FROM OWOR INNER JOIN WOR1 ON OWOR.DocEntry = WOR1.DocEntry WHERE OWOR.DocNum = 1252


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


加好友 发短信
等级:幼狐 帖子:141 积分:1131 威望:0 精华:0 注册:2014/3/25 13:14:00
  发帖心情 Post By:2017/11/20 10:21:00 [只看该作者]

非常感谢 有点甜
测试如下:
1和2同原来问题
3、 round(WOR1.BaseQty,0)可以用
可能就是floor函数的问题。

 回到顶部