以下是(简化)栏:
myDate as Date
theMonths as int然后在2008 finalDate中创建计算列R2,并使用以下公式:
(dateadd(month, theMonths, myDate))非常简单。但是有一个错误:
误差验证公式
只有当我通过Management中的集成助理插入公式时,才会发生此错误。当通过T查询创建列时不会发生.
如果我将myDate类型更改为Datetime,则没有错误,但不能更改表结构。
我试试看:
(dateadd(month, theMonths, CONVERT(Datetime, myDate)))错误仍然存在。
我使用以下方法直接在T中创建了该列:
ADD [finalDate] AS (dateadd(month,[theMonths],[myDate])) PERSISTED它工作良好,列被创建,数据在insert-update时计算。问题在Management中。
发布于 2013-05-13 05:24:59
试试这个-
CREATE TABLE dbo.[test]
(
myDate DATE NOT NULL DEFAULT (GETDATE()),
theMonths INT NOT NULL DEFAULT ((0)),
finalDate AS (DATEADD(MONTH, theMonths, myDate)) PERSISTED
)
INSERT INTO dbo.[test] (myDate, theMonths)
VALUES('20130101', 5)
SELECT * FROM dbo.[test]https://stackoverflow.com/questions/16513914
复制相似问题