我想将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
提前致谢!
答案 0 :(得分: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
通过这种方式,您可以查看查询在进行更改之前将执行的操作永久性#39;一旦你开心,将ROLLBACK更改为COMMIT并再次运行。
答案 1 :(得分:0)
怎么样:
UPDATE MyTable
SET Field2 = ISNULL(Field2, '') + ISNULL(Field1, '')
将值加入Field2。
和
UPDATE MyTable
SET Field1 = NULL
一旦确定第一个脚本有效,就清除Field1。
答案 2 :(得分:0)
这样的事情怎么样:
UPDATE <Table name> SET field_2 = CONCAT(field_2, field_1);
UPDATE <Table name> SET field_1 = NULL;