Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
追加列';将数据复制到SQL Server中的另一列_Sql_Sql Server - Fatal编程技术网

追加列';将数据复制到SQL Server中的另一列

追加列';将数据复制到SQL Server中的另一列,sql,sql-server,Sql,Sql Server,我想将Field1中的所有内容追加到Field2,然后将表中所有记录的Field1值设为NULL。我不想将这些字段合并到一个字段中,我仍然希望保留这两个字段 以以下为例: Field 1 Field 2 Test Value NULL NULL Another Value My Value Current Value 我想以以下方式结束: Field 1 Field 2 NULL Test Value NULL

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

以以下为例:

Field 1       Field 2
Test Value    NULL
NULL          Another Value
My Value      Current Value
我想以以下方式结束:

Field 1       Field 2
NULL          Test Value
NULL          Another Value
NULL          Current ValueMyValue
提前谢谢

那么:

UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')
UPDATE table
SET Field2 = isnull(Field2,'') + isnull(Field1,''), Field1 = NULL
将值联接到字段2中

在确定第一个脚本有效后清除字段1。

如何:

UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')
UPDATE table
SET Field2 = isnull(Field2,'') + isnull(Field1,''), Field1 = NULL
将值联接到字段2中

在确定第一个脚本有效后清除字段1。

如何:

UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')
UPDATE table
SET Field2 = isnull(Field2,'') + isnull(Field1,''), Field1 = NULL
如果您不确定,我建议您将更新包装在BEGIN TRAN中,如下所示进行回滚:

BEGIN TRAN

SELECT * FROM thistable

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

SELECT * FROM thistable

ROLLBACK
这样,在查询使更改“永久”之前,您将看到查询将执行的操作。一旦您满意,请将回滚更改为提交并再次运行

那么:

UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')
UPDATE table
SET Field2 = isnull(Field2,'') + isnull(Field1,''), Field1 = NULL
如果您不确定,我建议您将更新包装在BEGIN TRAN中,如下所示进行回滚:

BEGIN TRAN

SELECT * FROM thistable

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

SELECT * FROM thistable

ROLLBACK
这样,在查询使更改“永久”之前,您将看到查询将执行的操作。一旦您满意,请将回滚更改为提交并再次运行


像这样的小东西怎么样:

UPDATE <Table name> SET field_2 = CONCAT(field_2, field_1);
UPDATE <Table name> SET field_1 = NULL;
updateset field_2=CONCAT(field_2,field_1);
更新集字段_1=NULL;

像这样的小东西怎么样:

UPDATE <Table name> SET field_2 = CONCAT(field_2, field_1);
UPDATE <Table name> SET field_1 = NULL;
updateset field_2=CONCAT(field_2,field_1);
更新集字段_1=NULL;

工作得很好!谢谢你的演示。效果很好!谢谢你的演示。