SQL服务器:创建新列,它是从今天的日期日期列的减法

修订SQL服务器:创建新列,它是从今天的日期日期列的减法

基于我原来的问题的回答,我调整我的代码如下:

SELECT 

[OPCODE], [dtbuilt],

[EVENT_2],

[AGE_NO_DAYS] = DATEDIFF(day, - dtbuilt, CAST(GETDATE() As DATE))

INTO #df_EVENT5_6

FROM #df_EVENT5_5

下面是错误我“M接收:

操作数的数据类型的日期时间为负操作无效

价值观dtbuilt列如下:1999-11-29 00:00:00.000

我想创建一个新的列在SQL Server称为AGE_NO_DAYS就是今天的日期减去日期时间列名为dtbuilt

下面是我试过的代码,但它出错了。

SELECT 

[OPCODE], [dtbuilt],

[AGE_NO_DAYS] = CAST(GETDATE() As DATE) - [dtbulit]

INTO

#df_EVENT5_6

FROM

#df_EVENT5_5

这是我的错误:

无效的列名称dtbulit“。

回答:

你的代码有拼写错误,你应该使用dateadd()。尝试:

SELECT [OPCODE], 

[dtbuilt],

[AGE_NO_DAYS] = DATEDIFF(day, dtbuilt, CAST(GETDATE() As DATE))

INTO #df_EVENT5_6

FROM #df_EVENT5_5

需要注意的是,你可以与计算列做到这一点:

alter table #df_EVENTS_5 add age_num_days as (DATEDIFF(day, dtbuilt, CAST(GETDATE() as DATE)); 

以上是 SQL服务器:创建新列,它是从今天的日期日期列的减法 的全部内容, 来源链接: utcz.com/qa/259228.html

回到顶部