0

我有这个查询

(case when a.item_no >= '77000' and a.item_no <='77099' then
    (op_drill + op_machine + op_ssd + op_freight + op_paint + ((actual_tooling * 1.2))) 
    else (op_drill + op_machine + op_ssd + ((op_drill + op_machine + op_ssd) *.27) + ((op_drill + op_machine + op_ssd + op_freight + (op_curforg *1.25) + ((op_drill + op_machine + op_ssd)*.27)) * .075)+
     op_freight + (op_curforg *1.25) + op_paint) 
      end)  as new_cost,

它返回 10.1201575

在 vb.net 我可以运行这个语句

 dblNewCost = Math.Round(dblNewCost, 2, MidpointRounding.AwayFromZero)

返回 10.13

有没有办法复制这是sql server。我试过 round(num,2) 但没有正确显示

4

1 回答 1

1

我想你还有其他问题。SQL Server 的 ROUND() 函数就像 VB 一样工作。没有办法使用Math.Round(10.1201575, 2, MidpointRounding.AwayFromZero)会返回 10.13。比较两边舍入的数字,以确保您正在比较苹果与苹果。

于 2013-10-21T21:47:13.153 回答