以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]枚举值太大,不能适应 96 位十进制 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109782) |
-- 作者:huwenguang2008 -- 发布时间:2017/11/19 17:45:00 -- [求助]枚举值太大,不能适应 96 位十进制 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编辑过]
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2017/11/20 10:21:00 -- 非常感谢 有点甜 测试如下: 1和2同原来问题 3、 round(WOR1.BaseQty,0)可以用 可能就是floor函数的问题。
|