1

我想用 2 位小数从 DB 中舍入字段(项目价格)

但是当价格是整数分数(例如 10.00)时,我希望它不带小数返回(即 10)

到目前为止 ROUND(价格,2);没有解决需求

谢谢

4

2 回答 2

0

怎么样:

(case when right(format(val, 2), 3) = '.00' then format(val, 0)
      else format(val, 2)
 end)

这会将逗号添加到大数字中。

于 2013-02-19T18:50:19.110 回答
0

我不知道是否存在实现此目的的单一方法,但您可以尝试类似的方法。

SELECT CASE WHEN MOD(50.00, 50) = 0 THEN ROUND(50.00) ELSE ROUND(50.00,2) END;

上面的语句返回 50

SELECT CASE WHEN MOD(50.10, 50) = 0 THEN ROUND(50.10) ELSE ROUND(50.10,2) END;

上述语句返回 50.10

您可以使用动态列名修改数字。

于 2013-02-19T18:51:36.027 回答