SQL 服务器:创建新列,即从今天的日期中减去日期列

SQL Server : create new column that is subtraction of date column from today's date

已更新

根据对我最初问题的回答,我将代码调整为以下内容:

SELECT 
    [OPCODE], [dtbuilt],
    [EVENT_2], 
    [AGE_NO_DAYS] = DATEDIFF(day, - dtbuilt, CAST(GETDATE() As DATE)) 
INTO #df_EVENT5_6 
FROM #df_EVENT5_5

以下是我收到的错误:

Operand data type datetime is invalid for minus operator

dtbuilt 列中的值如下:1999-11-29 00:00:00.000

我想在 SQL 服务器中创建一个名为 AGE_NO_DAYS 的新列,即今天的日期减去一个名为 dtbuilt.

的日期时间列

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

SELECT 
    [OPCODE], [dtbuilt],
    [AGE_NO_DAYS] = CAST(GETDATE() As DATE) - [dtbulit]    
INTO
    #df_EVENT5_6 
FROM 
    #df_EVENT5_5

这是我得到的错误:

Invalid column name '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));