加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 16:48:14 所属栏目:MsSql教程 来源:网络整理
导读:我一直在使用像这样的sql来更新数据库中的属性列表: update my_table set a = ?,b = ?,c = ?,d = ?,where customer = ? 但是,如果数据库中没有值,我只想更新一个新值的属性.我怎样才能做到这一点? 解决方法 在MS SQL这样的东西(假设非值表示数据库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()从其参数中返回第一个非空值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读