创建计算列并舍入
Create a computed column and round
我的 table 中有 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
我的 table 中有 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