IF 语句根据字符串返回 0 值

问题描述 投票:0回答:1

我的 Oracle SQL 表中有 2 个字段:

  • STATUS - 是以下字符串值:Active 或 Away
  • LOGIN_TIME - 是根据用户注销分钟用户登录计算的时间戳值

我正在尝试显示 IF 语句:

  • 如果状态字段 = 离开
  • 然后登录字段 = 0

我确信这很简单,但我无法正确混合字符串和数值的语法 请问您能给建议吗?

IF STATUS IN 'AWAY' THEN     
 LOGIN_TIME=0 
END IF,
oracle if-statement
1个回答
0
投票

我认为你不需要

IF
(字面意思);因为它是关于表列的,所以我想说您需要的代码是

update your_table set
  login_time = 0
  where status = 'AWAY';

如果是 PL/SQL 并且您有 变量(不是列),那么您会使用

if status = 'AWAY' then
   login_time := 0;
end if;

在这两种情况下,请注意您不需要

IN
,因为您只有一个选择。如果有更多,那么是的 - 你会使用例如

where status in ('AWAY', 'HOME')
© www.soinside.com 2019 - 2024. All rights reserved.