Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Truth Tables for Oracle.

Re: Truth Tables for Oracle.

From: Pierre Charpenay <pcharpenay_at_unilog.fr>
Date: Thu, 30 Dec 1999 13:24:14 +0100
Message-ID: <386B4EEE.643E6975@unilog.fr>

Hello !

To answer to your question, try this :

DECLARE
  t BOOLEAN := TRUE;
  f BOOLEAN := FALSE;
  n BOOLEAN;
  FUNCTION vb(x BOOLEAN) RETURN CHAR IS   BEGIN
    IF x IS NULL THEN RETURN ' N |';
    ELSIF x THEN RETURN ' T |';
    ELSE RETURN ' F |';
    END IF;
  END VB;
BEGIN

  DBMS_OUTPUT.PUT_LINE('AND | T | F | N |');
  DBMS_OUTPUT.PUT_LINE('. T |'||vb(t AND t)||vb(t AND f)||vb(t AND n));
  DBMS_OUTPUT.PUT_LINE('. F |'||vb(f AND t)||vb(f AND f)||vb(f AND n));
  DBMS_OUTPUT.PUT_LINE('. N |'||vb(n AND t)||vb(n AND f)||vb(n AND n));
  DBMS_OUTPUT.PUT_LINE('OR  | T | F | N |');
  DBMS_OUTPUT.PUT_LINE('. T |'||vb(t OR t)||vb(t OR f)||vb(t OR n));
  DBMS_OUTPUT.PUT_LINE('. F |'||vb(f OR t)||vb(f OR f)||vb(f OR n));
  DBMS_OUTPUT.PUT_LINE('. N |'||vb(n OR t)||vb(n OR f)||vb(n OR n));
END;
/

It will give you the next truth tables :

AND | T | F | N |

. T | T | F | N |
. F | F | F | F |
. N | N | F | N |

OR | T | F | N |
. T | T | T | T |
. F | T | F | N |
. N | T | N | N |

(of course, T is True, F is False and N is NULL).

Hope this helps.

Bye
Pierre Received on Thu Dec 30 1999 - 06:24:14 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US