Sql server 在SQL Server中,如何将多个列合并为具有相同表的一列?

Sql server 在SQL Server中,如何将多个列合并为具有相同表的一列?,sql-server,Sql Server,我需要使用varchar/nvarchar数据类型将一些列值合并到一个列中 | Column1 | | Column2 | | Column3 | |MergedColumn| | A | | B | | C | | AB-C | | A1 | | B1 | | C1 | | A1B1-C1 | 我试图在表设计器中使用计算列规范,但我只知道如何计算int数据类型 | Column1 | |

我需要使用varchar/nvarchar数据类型将一些列值合并到一个列中

| Column1 |  | Column2 |  | Column3 |  |MergedColumn|
|    A    |  |    B    |  |    C    |  |    AB-C    |
|    A1   |  |    B1   |  |    C1   |  |  A1B1-C1   |
我试图在表设计器中使用计算列规范,但我只知道如何计算int数据类型

| Column1 |  | Column2 |  | Column3 |  |MergedColumn|
|    A    |  |    B    |  |    C    |  |    AB-C    |
|    A1   |  |    B1   |  |    C1   |  |  A1B1-C1   |

我需要合并列中的结果。

CONCAT函数应该在这里工作:

SELECT
    Column1,
    Column2,
    Column3,
    CONCAT(Column1, Column2, '-', Column3) AS MergedColumn
FROM yourTable;

CONCAT
功能应在此处工作:

SELECT
    Column1,
    Column2,
    Column3,
    CONCAT(Column1, Column2, '-', Column3) AS MergedColumn
FROM yourTable;

您可以尝试使用
concat
所需的列并更新最后一列。我使用
concat
作为
select
,但我需要像普通列一样的结果。我认为您希望查找视图和计算列。所以@shawnt00您的意思是,这只能在视图中进行?不,我想您可能可以选择其中一个来执行您需要的操作。听起来您可能尝试了计算列,但不清楚“int”是什么意思。您可以尝试使用
concat
所需的列并更新最后一列。我使用
concat
作为
select
,但我需要像普通列一样的结果。我认为您希望查找视图和计算列。所以@shawnt00您的意思是,这只能在视图中进行?不,我想您可能可以选择其中一个来执行您需要的操作。听起来您可能尝试了计算列,但不清楚“int”是什么意思。如何将此语法放置为列?
ALTER TABLE yourTable ADD MergedColumn as CONCAT(Column1,Column2,“-”,Column3)持久化的
应该这样做。如何将此语法放置为列?
更改表yourTable将合并列添加为CONCAT(Column1,Column2',-',Column3)持久化的
应该这样做。