0

我知道 如何控制计算列的数据类型?

我使用以下代码添加一列。但是,在 Object Explorer > Design 中找不到数据类型。我需要最终结果就业将对象资源管理器显示为就业数字 (9,0)

alter table dbo.equi add employment AS CAST((m1+m2+m3)/3 AS numeric(9));

我有三列

m1 numeric (6,0)
m2 numeric (6,0)
m3 numeric (6,0)

因此,要遵循上一个问题中的领先优势,我会使用以下内容:

CONVERT(numeric(9,0), (
                        CONVERT(NUMERIC(6, 0), [M1])
                      * CONVERT(NUMERIC(6, 0), [M2])
                      * CONVERT(NUMERIC(6, 0), [M3]
                     )
4

1 回答 1

0

在您的情况下,您不需要,CONVERT(NUMERIC(6,0),...)因为它们已经是多余的列NUMERIC(6,0),只需使用:

CONVERT(numeric(9,0), [M1] * [M2] * [M3])

此外,您不需要降低精度,因为操作的最大精度为 (6+6+6+1)=19 并且不超过 SQL Server 支持的最大精度 38(在问题中您链接他们需要这样做,因为其中一列的精度已经为 38,因此任何乘法都会超过最大精度)。

于 2017-10-02T19:11:21.583 回答