oracle sql语句 若某字段为空则更新此字段否则更新另一个字段,只用一个sql语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle sql语句 若某字段为空则更新此字段否则更新另一个字段,只用一个sql语句相关的知识,希望对你有一定的参考价值。
如 表ss 字段有 id bengtime endtime,我要根据id更新,若bengtime为空则更新bengtime,否则更新endtime
oracle中条件更新用case when结构,举例如下:用法如下:
update test set column1=
(case testCond
when \' \' then \'xxx\'
else yyy end )
这样就可以更具某个字段的值来更新另外一个字段了。 参考技术A 通用sql:
update ss
set bengtime = case when bengtime is null then sysdate else bengtime end,
endtime = case when endtime is null then sysdate else endtime end
where id = ...
或者,简单点:
update ss
set bengtime = nvl(bengtime,sysdate),
endtime =nvl(endtime,sysdate)
where id = ... 参考技术B update ss set bengtime=decode(bengtime ,null,sysdate-1,bengtime),endtime=decode(bengtime,null,endtime,sysdate) where id=xxxxx;本回答被提问者和网友采纳
SQL基础11:sqlserver、oracle添加修改删除字段注释
参考技术A 使用上面的命令,不管是否已经添加过注释,都会通过覆盖的方式替换掉。当语句当中的注释不为空的时候,就相当于是修改表或字段的注释;当表或者字段的注释为空的时候,就相当于是在增加注释;更新也是一样。我们在给字段添加注释的时候往往会有很多字段,比如一张表的字段会有50个字段,如果逐条添加至少会用20分钟这样效率太慢了,这时候我们要想如何快速添加。这里给大家附上我的方法
以上是关于oracle sql语句 若某字段为空则更新此字段否则更新另一个字段,只用一个sql语句的主要内容,如果未能解决你的问题,请参考以下文章
php+mysql多字段同时修改,如果传来的值为空则不修改,php该用哪种方法最好?