我想用两个日期更新记录,如果我没有要更新的新值,则保持现有数据不变。
这是一个示例表记录:
id last_foo last_bar
-- ---------- ----------
1 2010-05-30 2010-05-30
我正在使用的查询:
UPDATE sampledates
SET last_foo = @LastFoo,
last_bar = @LastBar
WHERE id = @ID;
如果我的可空日期 LastFoo
时间或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
我意识到如果值为空,我可以更改我的查询文本以省略第二列,但我想知道是否有一种方法可以让查询保持原样并指定我不更改指定的列。