首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server : dateadd公式中的计算列错误

Server : dateadd公式中的计算列错误
EN

Stack Overflow用户
提问于 2013-05-13 01:55:08
回答 1查看 3K关注 0票数 1

以下是(简化)栏:

代码语言:javascript
复制
myDate as Date
theMonths as int

然后在2008 finalDate中创建计算列R2,并使用以下公式:

代码语言:javascript
复制
(dateadd(month, theMonths, myDate))

非常简单。但是有一个错误:

误差验证公式

只有当我通过Management中的集成助理插入公式时,才会发生此错误。当通过T查询创建列时不会发生.

如果我将myDate类型更改为Datetime,则没有错误,但不能更改表结构。

我试试看:

代码语言:javascript
复制
(dateadd(month, theMonths, CONVERT(Datetime, myDate)))

错误仍然存在。

我使用以下方法直接在T中创建了该列:

代码语言:javascript
复制
ADD [finalDate] AS (dateadd(month,[theMonths],[myDate])) PERSISTED

它工作良好,列被创建,数据在insert-update时计算。问题在Management中。

EN

回答 1

Stack Overflow用户

发布于 2013-05-13 05:24:59

试试这个-

代码语言:javascript
复制
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]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16513914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档