논리 연산자

설명

논리 연산자(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를 반환한다.
SQL 구문 관련 파라미터인 pipes_as_concat 파라미터가 no이면, 이중 파이프 기호(||)를 OR 연산자로 사용할 수 있다.

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