sql在oracle中用条件更新表

i86rm4rw  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(283)

我刚刚遇到了一个场景,即有一个表batch,其中有10条记录,列slu no和batch类型如下。

这里我想用sql query更新批处理类型,蓝色的应该是绿色的,反之亦然。谢谢。

ohtdti5x

ohtdti5x1#

您可以使用 CASE 表达式:

UPDATE BATCH
SET BATCH_TYP = CASE WHEN BATCH_TYP = 'GREEN' THEN 'BLUE' ELSE 'GREEN' END
WHERE BATCH_TYP IN ('GREEN', 'BLUE');
mw3dktmi

mw3dktmi2#

请使用下面的更新语句,

update BATCH set batch_typ =
case when batch_typ = 'BLUE' then 'GREEN'
     when batch_typ = 'GREEN' then 'BLUE' end;
xytpbqjk

xytpbqjk3#

对于这种情况,可以使用update with case

UPDATE BATCH set batch_typ =
case when batch_typ = 'BLUE' then 'GREEN'
     when batch_typ = 'GREEN' then 'BLUE' end;

相关问题