我的表格中有3个numeric(18,2)
列。我想创建一个fourth column
computed
。我将SSMS中的计算列创建为numeric (18,2)
,就像其他3列一样。
当我对我的新列运行SELECT
时,它计算得很好,但它没有四舍五入到小数点后两位。我已尝试在计算列定义中使用ROUND
函数,但这不起作用。它将我的数据类型重置为numeric (38,6)
,现在不允许我更改它。
我的新列定义为((Length * Width * Height) / 166)
我希望最终结果四舍五入到小数点后两位。我做错了什么?
答案 0 :(得分:2)
您需要将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