SQL UPDATE,但只有当旧值为null时

前端之家收集整理的这篇文章主要介绍了SQL UPDATE,但只有当旧值为null时前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在使用像这样的sql来更新数据库中的属性列表:
update my_table set a = ?,b = ?,c = ?,d = ?,where customer = ?

但是,如果数据库中没有值,我只想更新一个新值的属性.我怎样才能做到这一点?

解决方法

在MS sql这样的东西(假设非值表示数据库NULL)应该工作:
update 
  my_table 
set 
  a = COALESCE(a,?),b = COALESCE(b,c = COALESCE(c,d = COALESCE(d,?)
where 
  customer = ?

COALESCE()从其参数中返回第一个非空值.

猜你在找的MsSQL相关文章