【发布时间】:2019-08-20 12:59:04
【问题描述】:
我有一个类型为money 的变量@value,如果它等于或大于0.5 则需要向上取整,否则向下取整。一些例子:
2.5 --> 3
2.4999 --> 2
2.5001 --> 3
2.4 --> 2
2.7 --> 3
【问题讨论】:
-
幸运的是,T-SQL 的设计者在命名
ROUND函数时并没有不必要的想象力。
标签: sql-server
我有一个类型为money 的变量@value,如果它等于或大于0.5 则需要向上取整,否则向下取整。一些例子:
2.5 --> 3
2.4999 --> 2
2.5001 --> 3
2.4 --> 2
2.7 --> 3
【问题讨论】:
ROUND 函数时并没有不必要的想象力。
标签: sql-server
您可以使用ROUND() 函数来做到这一点:
CREATE TABLE cash (val MONEY);
INSERT INTO cash (val)
VALUES (2.5), (2.4999), (2.5001), (2.4), (2.7);
SELECT *, CAST(ROUND(val, 0) AS INT)
FROM cash;
【讨论】:
round(@var, 1),但是当我将参数设置为 money 时它不会舍入,我必须将其设置为 int但我实际上传递了一个money 变量,这是为什么呢?