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