Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에는 이중 등호(==)가 존재할까요?

MySQL에는 다른 프로그래밍 언어에서 흔히 볼 수 있는 이중 등호(==) 연산자가 존재하지 않습니다. MySQL에서 두 값을 비교할 때는 단일 등호(=)를 사용하며, 만약 이중 등호를 사용하면 구문 오류가 발생합니다.

이중 등호 사용 시 오류 확인하기

실제로 이중 등호가 작동하지 않는지 직접 확인해 보겠습니다. 먼저 변수를 하나 선언합니다.

mysql> set @Number=10;
Query OK, 0 rows affected (0.00 sec)

이제 위에서 선언한 변수 값과 숫자 10을 비교해 보겠습니다. 두 값이 같으면 결과는 1, 다르면 0이 반환됩니다.

이중 등호(==)로 비교하는 경우

mysql> select 10==@Number;

위 쿼리를 실행하면 다음과 같은 오류 메시지가 출력됩니다.

ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version 
for the right syntax to use near '==@Number' at line 1

오류 메시지에서 알 수 있듯이 MySQL은 == 연산자를 인식하지 못하고 SQL 구문 오류(ERROR 1064)를 반환합니다.

단일 등호(=)로 비교하는 경우

이번에는 이중 등호 대신 단일 등호를 사용하여 동일한 비교를 수행해 보겠습니다.

mysql> select 10=@Number;

실행 결과는 다음과 같습니다.

+------------+
| 10=@Number |
+------------+
| 1          |
+------------+
1 row in set (0.00 sec)

숫자 10과 변수 @Number(값 10)가 서로 같기 때문에 비교 결과로 1(참)이 반환된 것을 확인할 수 있습니다.

정리

MySQL에서는 C, Java, JavaScript 같은 프로그래밍 언어와 달리 이중 등호(==) 비교 연산자를 지원하지 않습니다. 값의 동등 여부를 비교할 때는 반드시 단일 등호(=)를 사용해야 하며, 문자열 비교 시에도 마찬가지입니다. 참고로 NULL 값을 비교할 때는 안전 등호 연산자인 <=>(NULL-safe equal)를 사용하면 유용합니다.