>데이터 베이스 >MySQL 튜토리얼 >MySQL의 ``Null-Safe 등호 연산자는 어떻게 작동합니까?

MySQL의 ``Null-Safe 등호 연산자는 어떻게 작동합니까?

DDD
DDD원래의
2025-01-05 04:50:40521검색

How Does MySQL's `` Null-Safe Equal Operator Work?

MySQL의 <=> 연산자: 더 깊은 이해

MySQL에서는 <=> 연산자는 쿼리에서 자주 발견되지만 그 목적은 약간 모호할 수 있습니다. 이 글의 목적은 그 의미를 명확히 하고 그 응용을 탐색하는 것입니다.

<=> 운영자님?

<=> MySQL의 연산자는 "null-safe 같음" 연산자로 알려져 있습니다. 이는 두 값을 비교하고 0(같지 않음) 또는 1(같음)을 반환하는 일반 = 연산자와 유사하게 동작합니다. 그러나 <=> NULL 값을 다르게 처리합니다.

NULL 처리

일반 = 연산자와 달리 <=> NULL 값을 다른 값으로 처리합니다. 즉, 값을 NULL과 비교하면 결과가 NULL이 되지 않습니다. 대신 <=> 값이 같지 않으면 0을 반환하고 같으면 1을 반환합니다.

예를 들어, 쿼리:

WHERE p.name <=> NULL

는 p.name 열이 NULL이거나 NULL이 아닙니다.

<=> 운영자

<=> 연산자는 두 피연산자 모두에 NULL 값이 포함될 수 있고 일관된 비교 결과가 필요할 때 특히 유용합니다. 또한 쿼리를 변경할 필요 없이 자리 표시자가 스칼라 값과 NULL을 모두 허용할 수 있는 준비된 문과 함께 사용할 수 있습니다.

관련 연산자

MySQL은 또한 다음을 제공합니다. NULL과 비교하기 위한 다른 두 연산자: IS NULL 및 IS NOT NULL. 이러한 연산자는 ANSI 표준의 일부이며 다른 데이터베이스에서도 지원됩니다. 이는 <=> 연산자:

  • 'a' IS NULL ==> 'a' <=> NULL
  • 'a'는 NULL이 아닙니다 ==> NOT('a' <=> NULL)

지원

<=> MySQL에만 해당되는 SQL:2003 표준에는 IS [NOT] DISTINCT FROM이라는 유사한 조건자가 도입되었습니다. 이 술어는 MySQL의 <=> 연산자입니다.

위 내용은 MySQL의 ``Null-Safe 등호 연산자는 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.