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 )
这样就可以更具某个字段的值来更新另外一个字段了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-12
通用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 = ...
第2个回答  2012-12-05
update ss set bengtime=decode(bengtime ,null,sysdate-1,bengtime),endtime=decode(bengtime,null,endtime,sysdate) where id=xxxxx;本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网