MySQL에서 기본적으로 알고 있듯이 || operator는 논리적 OR 연산자이지만 PIPES_AS_CONCAT SQL 모드에 따라 다릅니다. PIPES_AS_CONCAT SQL 모드가 활성화되면 || 연산자는 문자열 연결로 작동합니다. 그 때 우선 순위는 ^와 단항 연산자 사이입니다. 다음 예는 이해하게 만들 것입니다 -
mysql> Set @C='tutorials'; Query OK, 0 rows affected (0.00 sec) mysql> Set @D='point'; Query OK, 0 rows affected (0.00 sec) mysql> Select @C||@D; +--------+ | @C||@D | +--------+ | 1 | +--------+ 1 row in set (0.00 sec)
위 쿼리의 결과 세트는 || OR 연산자로 작동하므로 true의 경우 출력이 1입니다.
mysql> Set SQL_MODE = 'PIPES_AS_CONCAT'; Query OK, 0 rows affected (0.10 sec)
PIPES_AS_CONCAT SQL 모드를 활성화한 후 || CONCAT() 함수, 즉 문자열 연결 함수의 동의어로 작동합니다. 다음 결과 세트에 표시됩니다. -
mysql> Select @C||@D; +----------------+ | @C||@D | +----------------+ | tutorialspoint | +----------------+ 1 row in set (0.00 sec)