SQL Server:创建新列,即从今天的日期减去日期列

时间:2017-12-03 02:22:50

标签: sql sql-server date subtraction

已更新

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

addNoteModal() {
  let noteModal = this.modalCtrl.create('AddNoteComponent', {
    'mid': this.module.key
  });
  noteModal.present();
}

以下是我收到的错误:

  

操作数数据类型datetime对减号运算符

无效

dtbuilt列中的值如下:SELECT [OPCODE], [dtbuilt], [EVENT_2], [AGE_NO_DAYS] = DATEDIFF(day, - dtbuilt, CAST(GETDATE() As DATE)) INTO #df_EVENT5_6 FROM #df_EVENT5_5

我想在SQL Server中创建一个名为1999-11-29 00:00:00.000的新列,即今天的日期减去名为AGE_NO_DAYS的日期时间列。

以下是我尝试过的代码,但错误了。

dtbuilt

这是我得到的错误:

  

无效的列名'dtbulit'。

1 个答案:

答案 0 :(得分:1)

您的代码中包含拼写错误,您应该使用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));