2

このテーブルがあるとしましょう:

ID | col1 | col2 | col3 | col4
1  |  val |      |  val |

このクエリを変更する方法はありますか:

UPDATE table set col1 = "bla", col2 = "bla", col3 = "bla", col4 = "bla where id = 1

私が終わるように:

ID | col1 | col2 | col3 | col4
1  |  val |  bla |  val |  bla

つまり、クエリは null ではないフィールドのみを更新する必要があります。どうやってそれをしますか?

4

2 に答える 2

8

最も簡単な答えは、使用することですCOALESCE

UPDATE table 
set     col1 = COALESCE(col1,"bla"), 
        col2 = COALESCE(col2,"bla"), 
        col3 = COALESCE(col3,"bla"), 
        col4 = COALESCE(col4,"bla")
where   id = 1

その他のリンク。

于 2013-02-25T06:48:42.990 に答える
0

Coalesce の代わりに IsNUll を使用することもできます。coalesce と isnull は多くの点で同等です

Update Table
set col1 = Isnull(col1,'bla'),...

もちろん、RDが空の文字列でも機能することを望む場合、JWはすでに解決策を提供しています

于 2013-02-26T05:58:22.337 に答える