• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

sql 来源:PineNuts0 4次浏览

修订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)); 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)