Database 将字符串中的表达式转换为Oracle过程(PL/SQL)中的布尔表达式
是否可以在过程中运行字符串格式的表达式 我有一个字符串,它是真的,真的,假的,假的,真的 现在我需要验证它的真实性。在这个过程中我应该怎么做 为了给出详细的解释,字符串是从另一个不在我控制范围内的查询返回的,我可以编写类似的函数,但只能从字符串中的布尔值返回true。我在这里有不同的要求,可以按程序进行吗?如果是,怎么做 谢谢:Database 将字符串中的表达式转换为Oracle过程(PL/SQL)中的布尔表达式,database,oracle,stored-procedures,plsql,Database,Oracle,Stored Procedures,Plsql,是否可以在过程中运行字符串格式的表达式 我有一个字符串,它是真的,真的,假的,假的,真的 现在我需要验证它的真实性。在这个过程中我应该怎么做 为了给出详细的解释,字符串是从另一个不在我控制范围内的查询返回的,我可以编写类似的函数,但只能从字符串中的布尔值返回true。我在这里有不同的要求,可以按程序进行吗?如果是,怎么做 谢谢: set serveroutput on declare expr varchar2(1000) := '((TRUE AND TRUE
set serveroutput on
declare
expr varchar2(1000) := '((TRUE AND TRUE) OR (TRUE AND FALSE) OR (FALSE AND TRUE))';
i int;
begin
execute immediate 'begin if '||expr||' then :a := 1; else :a := 0; end if; end;' using out i;
if i = 1 then
dbms_output.put_line('TRUE');
else
dbms_output.put_line('FALSE');
end if;
end;
/
TRUE
declare
expr varchar2(1000) := '((TRUE AND TRUE) AND (TRUE AND FALSE) AND (FALSE AND TRUE))';
i int;
begin
execute immediate 'begin if '||expr||' then :a := 1; else :a := 0; end if; end;' using out i;
if i = 1 then
dbms_output.put_line('TRUE');
else
dbms_output.put_line('FALSE');
end if;
end;
/
FALSE