将列的数据附加到SQL Server中的另一列

Ric*_*tts 1 sql sql-server

我想将Field1中的所有内容追加到Field2,然后为表中的所有记录使Field1值为NULL.我不想将这些字段合并到一个字段中,我仍然希望保留两个字段.

请看以下示例:

Field 1       Field 2
Test Value    NULL
NULL          Another Value
My Value      Current Value
Run Code Online (Sandbox Code Playgroud)

我想最终得到:

Field 1       Field 2
NULL          Test Value
NULL          Another Value
NULL          Current ValueMyValue
Run Code Online (Sandbox Code Playgroud)

提前致谢!

OCD*_*Dan 5

怎么样:

UPDATE table
SET Field2 = isnull(Field2,'') + isnull(Field1,''), Field1 = NULL
Run Code Online (Sandbox Code Playgroud)

如果您不确定是什么,我会建议将更新包装在BEGIN TRAN,ROLLBACK中,如下所示:

BEGIN TRAN

SELECT * FROM thistable

UPDATE thistable
SET Field2 = isnull(Field2,'') + isnull(Field1,'')
, Field1 = NULL

SELECT * FROM thistable

ROLLBACK
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以在将更改变为"永久"之前查看查询将执行的操作.一旦你开心,将ROLLBACK更改为COMMIT并再次运行.

在这里查看演示