将两列合并到新列中

时间:2018-01-07 13:24:56

标签: sql-server tsql

我创建了一个类型为varchar(30)的新列,用于存储同一个表中两个存在列的串联结果。

我正在尝试编写一个查询来执行该操作

这是我的表

ID   COLUMN1   COLUMN2 
-----------------------
1    US        TEXAS
2    JAPAN     TOKYO

我希望将结果存储在存在的表中。

ID   COLUMN1   COLUMN2   FULL_ADDRESS
-------------------------------------
1    US        TEXAS     US TEXAS
2    JAPAN     TOKYO     JAPAN TOKYO

这是我的尝试:

ALTER TABLE tbl 
    SET FULL_ADDRESS = COLUMN1 + '' + COLUMN2

2 个答案:

答案 0 :(得分:4)

您可以使用computed column

ALTER TABLE tbl ADD FULL_ADDRESS AS (COLUMN1+' '+COLUMN2);

<强> Rextester Demo

答案 1 :(得分:2)

要物理存储连接数据,我会使用一个持久的计算列。例如在SQL Server中:

ALTER TABLE tbl 
    ADD FullAddress AS CONCAT(Column1, ' ', Column2) PERSISTED

Persisted还表示如果您需要帮助查询效果,可以在FullAddress上构建索引。