(Oracle) IF 语句中的 IN 条件

Lla*_*ama 2 sql oracle plsql

我需要检查变量的值是否等于两个值之一。我可以在那里使用 IN 条件吗?

例子:

if (proc_stat in (ap_public.ap_tool.c_status_array(3), ap_public.ap_tool.c_status_array(1))) then
Run Code Online (Sandbox Code Playgroud)

Ten*_*zin 6

是的你可以。

例如:

DECLARE
        vcA VARCHAR2(1) := 'A';
        vcB VARCHAR2(1) := 'B';
BEGIN
        IF vcA IN ('A', 'E') THEN
                -- This will get printed. 
                DBMS_OUTPUT.PUT_LINE('True');
        END IF;

        IF vcB IN ('A', 'E') THEN
                -- This will not get printed. 
                DBMS_OUTPUT.PUT_LINE('False');
        END IF;
END;
/
Run Code Online (Sandbox Code Playgroud)