我有 3 个 numeric(18,2)
我表中的列。我想创建一个 fourth column
即 computed
.我在 SSMS 中将计算列创建为 numeric (18,2)
就像其他 3 列一样。
当我运行 SELECT
针对我的新列,它计算得很好,但没有四舍五入到小数点后两位。我试过使用 ROUND
我的计算列定义中的函数,但这不起作用。它将我的数据类型重置为 numeric (38,6)
现在不会让我改变它。
我的新列定义是 ((Length * Width * Height) / 166)
我希望最终结果四舍五入到小数点后两位。我究竟做错了什么?
最佳答案
您需要转换 computed column
至 numeric(18,2)
示例:
CREATE TABLE computed
(
a NUMERIC(18, 2),
b NUMERIC(18, 2),
c AS CONVERT(NUMERIC(18, 2), a * b)
)
INSERT INTO computed VALUES (1,2)
SELECT *
FROM computed
关于sql - 创建计算列并舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28174372/