我创建了一个类型为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
答案 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
上构建索引。