1

我想将 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

提前致谢!

4

3 回答 3

5

怎么样:

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

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

BEGIN TRAN

SELECT * FROM thistable

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

SELECT * FROM thistable

ROLLBACK

这样,您将了解查询在使更改“永久”之前将执行的操作。一旦您满意,将 ROLLBACK 更改为 COMMIT 并再次运行。

在这里查看演示

于 2013-07-04T20:43:11.773 回答
0

怎么样:

UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')

将值加入 Field2。

UPDATE MyTable
SET Field1 = NULL

一旦确定第一个脚本有效,就清除 Field1。

于 2013-07-04T20:42:59.490 回答
0

像这样的小东西怎么样:

UPDATE <Table name> SET field_2 = CONCAT(field_2, field_1);
UPDATE <Table name> SET field_1 = NULL;
于 2013-07-04T20:43:36.873 回答