-- 关于SQL语句中ROUND 的用法
老师
我今天在做项目时,遇到一个很奇怪的问题,SQL语句如下 :
s e le ct (se le ct Sum(产品数量*IIF(产品成本价 > 0,产品成本价,产品票面价)) from {订单明细表} where 订单编号 = {订单主表}._Identify) as 总金额 f rom {订单主表} where _Identify = 24723
在执行SQL中可以得到结果:30937.545 。 我希望得到的结果是:30937.55 于是我改了SQL 如下:
se le ct ROUND((s ele ct Sum(产品数量*IIF(产品成本价 > 0,产品成本价,产品票面价)) from {订单明细表} where 订单编号 = {订单主表}._Identify),2) as 总金额 from {订单主表} where _Identify = 24723
可是结果是:30937.54 怎么样写才能得到: 30937.55 ? 我改了以下几种,结果都是:30937.54
1.s ele ct (se lec t ROUND(Sum(产品数量*IIF(产品成本价 > 0,产品成本价,产品票面价)),2) from {订单明细表} where 订单编号 = {订单主表}._Identify) as 总金额 from {订单主表} where _Identify = 24723
2.s ele ct (se le ct Sum(ROUND(产品数量*IIF(产品成本价 > 0,产品成本价,产品票面价),2)) from {订单明细表} where 订单编号 = {订单主表}._Identify) as 总金额 from {订单主表} where _Identify = 24723
希望老师指点。多谢!