논리 연산자(logical operator)는 피연산자로 부울린(boolean) 연산식 또는 INTEGER 값으로 평가되는 표현식이 지정되며, 연산 결과로 TRUE, FALSE, NULL을 반환한다. INTEGER 값이 논리식에 사용되는 경우 0은 FALSE, 0이 아닌 나머지는 TRUE로 사용된다. 부울린 값이 수식에 사용될 때에는 TRUE는 1, FALSE는 0으로 해석된다. CUBRID가 지원하는 논리 연산자의 종류 및 진리표는 아래와 같다.
CUBRID가 지원하는 논리 연산자
논리 연산자 |
설명 |
조건식 |
---|---|---|
AND, && |
피연산자가 모두 TRUE이면 TRUE를 반환한다. |
a AND b |
OR, || |
피연산자가 모두 NULL이 아니고, 하나 이상의 피연산자가 TRUE이면 TRUE를 반환한다. |
a OR b |
XOR |
피연산자가 모두 NULL이 아니고, 두 피연산자의 값이 다르면 TRUE를 반환한다. |
a XOR b |
NOT, ! |
단항 연산자이며, 피연산자가 FALSE이면 TRUE, 피연산자가 TRUE이면 FALSE를 반환한다. |
NOT a |
논리 연산자의 진리표
a |
b |
a AND b |
a OR b |
NOT a |
a XOR b |
---|---|---|---|---|---|
TRUE |
TRUE |
TRUE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
TRUE |
TRUE |
NULL |
NULL |
TRUE |
FALSE |
NULL |
FALSE |
FALSE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
NULL |
FALSE |
NULL |
TRUE |
NULL |
SELECT 리스트 내에서 논리 표현식을 사용할 때에는 괄호로 감싸야 한다.
SELECT 1 = 1 FROM db_root;
ERROR: syntax error, unexpected '='
SELECT (1 = 1) FROM db_root;
(1=1)
=============
1