select (case when((SUM(sn.OrderNum-sn.ItemNoNum)-1)<0)then '0.0000' else Convert(float,SUM(sn.OrderNum-sn.ItemNoNum))/Convert(float,(SUM(sn.OrderNum-sn.ItemNoNum))) end)
都是0.没有小数点
我要的结果是
计算后得出结果result*100+'%'
现在我在'0.0000'后加%就报错.
------解决方案--------------------
- SQL code
SELECT LTRIM(( CASE WHEN ( ( SUM(sn.OrderNum - sn.ItemNoNum) - 1 ) < 0 ) THEN '0.0000' ELSE CONVERT(FLOAT, SUM(sn.OrderNum - sn.ItemNoNum)) * 1.0 / CONVERT(FLOAT, ( SUM(sn.OrderNum - sn.ItemNoNum) )) END )) + '%'
------解决方案--------------------
- SQL code
SELECT LTRIM((CASE WHEN ((SUM(sn.OrderNum-sn.ItemNoNum)-1) < 0) THEN 0.00 ELSE SUM(sn.OrderNum-sn.ItemNoNum)*100.0/CONVERT(FLOAT , (SUM(sn.OrderNum-sn.ItemNoNum))) END ))+'%'
------解决方案--------------------
------解决方案--------------------
遇到过一次这样的问题 记得好像是sum的问题,你可以把sum里那个值拿出来看看就知道了。