创建计算列并进行舍入

时间:2015-01-27 15:44:47

标签: sql sql-server calculated-columns

我的表格中有3个numeric(18,2)列。我想创建一个fourth column computed。我将SSMS中的计算列创建为numeric (18,2),就像其他3列一样。

当我对我的新列运行SELECT时,它计算得很好,但它没有四舍五入到小数点后两位。我已尝试在计算列定义中使用ROUND函数,但这不起作用。它将我的数据类型重置为numeric (38,6),现在不允许我更改它。

我的新列定义为((Length * Width * Height) / 166)

我希望最终结果四舍五入到小数点后两位。我做错了什么?

1 个答案:

答案 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