1

Field1 のすべてを Field2 に追加してから、テーブル内のすべてのレコードの Field1 の値を NULL にします。これらのフィールドを 1 つのフィールドにマージしたくありません。両方のフィールドを残しておきたいのです。

次の例を見てください。

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 に答える