【发布时间】:2022-11-18 08:18:23
【问题描述】:
我有一个包含 payment decimal(5, 2) 列的表,我想向表中添加一个计算列:
ALTER TABLE tbl
ADD colComputed AS (ROUND(payment , 0)) / 0.6)) PERSISTED
然而,这有效,colComputed 最终变成了numeric(12, 6)。
我尝试指定 ALTER TABLE tbl ADD colComputed decimal(5, 2) AS ...,但它似乎是无效语法。如何强制计算列为decimal(5, 2)?
【问题讨论】:
-
colComputed AS CAST(ROUND(payment , 0)) / 0.6)) AS decimal(5, 2))呢? -
不要忘记也指定
PERSISTED NOT NULL。 -
@GMB 你那里有一个多余的括号。
标签: sql sql-server sql-server-2017