IF-ELSE语句:根据另一个列创建一个列

And*_*i ௫ 4 sql oracle plsql if-statement sql-update

在表JAN07中,我有一列TEMPO_INTERCORSO(数字(10,0)),我想创建另一列ANTE_POST(数字(1)),当TEMPO_INTERCORSO> 0时为'0',否则为'1'.

IF (TEMPO_INTERCORSO > 0) THEN
   UPDATE JAN07 SET ANTE_POST = 1
ELSE
   UPDATE JAN07 SET ANTE_POST = 0
END IF;
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多不同的方法,你可以在网上找到(例如在ELSE之前的";":有时候,有时候没有),但它仍然无法正常工作.

IF (TEMPO_INTERCORSO = 0) THEN
Report error -
Comando sconosciuto
Run Code Online (Sandbox Code Playgroud)

一些想法?

ps =我也试过了JAN07.TEMPO_INTERCORSO!

Tim*_*sen 6

以下UPDATE查询用于CASE...WHEN实现您的目标:

UPDATE JAN07
SET ANTE_POST = CASE WHEN TEMPO_INTERCORSO > 0 THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)