بتاريخ: 3 يوليو 200916 سنة comment_162049 السلام عليكم ورحمة الله وبركاته...اليكم هذه الطريقة لعمل الــ truth table : اولا نقوم بانشاء جدول وهو كالتالي: create table booleans ( bool varchar2(5) ); وبعد ذلك دعونا ندخل على هذه الجدول بيانات وهي كالاتي: insert into booleans values ('true'); insert into booleans values ('false'); insert into booleans values ('null'); والان سنقوم بعملية المقارنه...نحن تعلمنا أن truth and truth = truth وبالفنكشن التالي سنستخرج جميع الاحتمالات: declare bool_1 boolean; bool_2 boolean; bool_and boolean; bool_or boolean; res_and varchar2(5); res_or varchar2(5); function string_to_bool(str in varchar2) return boolean is begin return case when str = 'true' then true when str = 'false' then false when str = 'null' then null end; end; function bool_to_str(bool in boolean) return varchar2 is begin return case when bool = true then 'true' when bool = false then 'false' when bool is null then 'null' end; end; begin dbms_output.put_line('bool1 bool2| and or'); dbms_output.put_line('------------+-------------'); for b1 in (select bool from booleans) loop for b2 in (select bool from booleans) loop bool_1 := string_to_bool(b1.bool); bool_2 := string_to_bool(b2.bool); bool_and := bool_1 AND bool_2; bool_or := bool_1 OR bool_2; res_and := bool_to_str(bool_and); res_or := bool_to_str(bool_or ); dbms_output.put_line(lpad(b1.bool, 5) || ' ' || lpad(b2.bool, 5) || '| ' || lpad(res_and, 5) || ' ' || lpad(res_or , 5)); end loop; end loop; end; / وبالتالي ستكون النتيجة على النجو الاتي: bool1 bool2| and or ------------+------------- true true| true true true false| false true true null| null true false true| false true false false| false false false null| false null null true| null true null false| false null null null| null null جربوها....التوفيق للجميع... تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.