求助一个有判断条件的更新语句

数据库服务和管理,MySQL/PostgreSQL/Oracle/Sybase 等
回复
wjhbh
帖子: 50
注册时间: 2009-01-08 18:53
送出感谢: 1 次
接收感谢: 0

求助一个有判断条件的更新语句

#1

帖子 wjhbh » 2011-06-04 19:06

假设表里有两个日期类型的字段,其中一个为null, 要根据是否为null更新其中的一个,使用如下语句
->update table1 set case
->when col1 is null then col1
->when col2 is nul then col2
->end =curdate()
->where condition = ...
执行不成功,请指教错误。
头像
fc75429366
帖子: 5
注册时间: 2007-11-29 15:52
送出感谢: 0
接收感谢: 0

Re: 求助一个有判断条件的更新语句

#2

帖子 fc75429366 » 2011-08-14 12:24

一个例子:UPDATE ”order” SET process_status=(case WHEN process_status=’正常’ then ‘加急’ else ‘正常’ end) WHERE order_id=16;

参考:这里
头像
power255
帖子: 12
注册时间: 2009-04-01 9:32
送出感谢: 0
接收感谢: 0

Re: 求助一个有判断条件的更新语句

#3

帖子 power255 » 2011-08-26 20:13

写二个SQL更新
update table1 set col1=curdate() where col1 is null and condition = ...

update table1 set col2=curdate() where col2 is null and condition = ...
行为变为习惯,习惯养成性格,性格决定命运
头像
power255
帖子: 12
注册时间: 2009-04-01 9:32
送出感谢: 0
接收感谢: 0

Re: 求助一个有判断条件的更新语句

#4

帖子 power255 » 2011-08-26 20:16

一起更新也可以
update table1
set col1=nvl(col1,curdate()),
col2=nvl(col2,curdate())
where condition = ...
行为变为习惯,习惯养成性格,性格决定命运
回复

回到 “数据库管理”