更新する新しい値がない場合は、既存のデータをそのまま残して、2 つの日付でレコードを更新したいと考えています。
サンプル テーブル レコードは次のとおりです。
id last_foo last_bar
-- ---------- ----------
1 2010-05-30 2010-05-30
そして、私が使用しているクエリ:
UPDATE sampledates
SET last_foo = @LastFoo,
last_bar = @LastBar
WHERE id = @ID;
null 許容の日時 LastFoo
またはnull の場合LastBar
、既存の SQL 値をそのまま残し、そうでない場合は更新します。
たとえば、このレコードを次の値で更新するとします (これは C# ですが、どの言語も適用されます)。
DateTime? LastFoo = new DateTime('2010-06-04');
DateTime? LastBar = null;
レコードを次のようにしたいと思います。
id last_foo last_bar
-- ---------- ----------
1 2010-06-04 2010-05-30
値が null の場合、クエリ テキストを変更して 2 番目の列を省略することができることに気付きましたが、クエリをそのままにして、指定された列を変更しないことを指定できる方法があるかどうか疑問に思いました。