您的位置:首页 > 产品设计 > UI/UE

PL/SQL的Boolean的三个值:TRUE,FALSE,NULL两两进行AND,OR操作的值

2016-05-30 00:29 736 查看
--让我们来看一下,在什么情况下会出现NULL值?
declare
type t_arr is array(3) of boolean;--声明boolean数组
b_array t_arr:=t_arr(true,false,null);--数组初始化
b_flag boolean;--运算结果值
v_str varchar2(100);--拼串结果
--函数,将boolean值转换为对应的varchar2值,在sql中不支持boolean数据类型
function TSBOOLEAN(b_flag boolean) return varchar2 is
begin
return case b_flag
when true  then 'true'
when false then 'false'
else 'null'
end;
end;

begin
for k in 1..2 loop  --运算符(and,or)
for i in 1..3 loop--第一个boolean值
for j in 1..3 loop--第二个boolean值
v_str:=TSBOOLEAN(b_array(i));--第一个boolean值
if k = 1 then
v_str:=v_str||' AND ';--第一个boolean值拼接运算符
b_flag:=(b_array(i) and b_array(j));--运算结果值
else
v_str:=v_str||' OR ';--第一个boolean值拼接运算符
b_flag:=(b_array(i) or b_array(j)); --运算结果值
end if;
v_str:=v_str||TSBOOLEAN(b_array(j))||' ===> '||TSBOOLEAN(b_flag);
dbms_output.put_line(v_str);
end loop;
end loop;
end loop;
end;




参考链接http://www.2cto.com/database/201302/188398.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: