如何将查询结果单列添加到不同的表?

时间:2017-01-01 20:45:47

标签: sql-server

正如您所知道的AS语句,我们可以创建一个包含查询表达式的列。如何将这一列添加到我的表中?

例如:

select 
    CAST(idwYear AS varchar(20)) + '-' + 
       CAST((right('00' + ltrim(str(idwMonth)), 2)) AS varchar(20)) + '-' +
       CAST(right('00' + ltrim(str(idwDay)), 2) AS varchar(20)) AS finaldate

现在,如何添加最终日期,例如my_table

2 个答案:

答案 0 :(得分:0)

这就是解决方案。

insert into finaldate  
    select 
        CAST(idwYear AS varchar(20)) + '-' +
           CAST((right('00' + ltrim(str(idwMonth)), 2)) as varchar(20)) + '-' +
           CAST(right('00' + ltrim(str(idwDay)), 2) AS varchar(20)) 
    from 
        database.dbo.rawdata

为什么我不能做的是我添加了值但不需要值语句

答案 1 :(得分:0)

您可以使用下面的DDL将最终日期添加为computed column

ALTER TABLE dbo.my_table
    ADD finaldate AS
          CAST(idwYear AS varchar(20)) + '-'
        + CAST((right('00' + LTRIM(STR(idwMonth)), 2)) AS varchar(20)) + '-'
        + CAST(right('00' + LTRIM(STR(idwDay)), 2) AS varchar(20));