>데이터 베이스 >MySQL 튜토리얼 >MySQL은 SELECT 쿼리에서 대소문자 구분을 어떻게 처리하며 이를 어떻게 재정의할 수 있습니까?

MySQL은 SELECT 쿼리에서 대소문자 구분을 어떻게 처리하며 이를 어떻게 재정의할 수 있습니까?

DDD
DDD원래의
2024-12-11 16:39:10200검색

How Does MySQL Handle Case Sensitivity in SELECT Queries, and How Can I Override It?

MySQL SELECT 쿼리 대소문자 구분

기본적으로 MySQL SELECT 쿼리는 대소문자를 구분하지 않습니다. 이는 SELECT * FROM table` WHERE `Value` = "iaresavage" 쿼리가 Value` 열의 값이 실제로 'IAreSavage'인 경우에도 결과를 반환한다는 것을 의미합니다.

대소문자 구분 재정의

그러나 이 기본 동작을 재정의하고 이항 연산자를 사용하여 대/소문자 구분 비교를 수행할 수 있습니다. 이렇게 하려면 쿼리를 다음과 같이 수정하세요.

SELECT * FROM `table` WHERE BINARY `Value` = "iaresavage"

이제 쿼리는 값 열의 값이 대/소문자에 관계없이 지정된 문자열과 정확하게 일치하는 경우에만 결과를 반환합니다.

다음을 고려하세요. table:

Value
iaresavage
IAreSavage

다음 쿼리를 실행하는 경우:

SELECT * FROM `table` WHERE `Value` = "iaresavage"

쿼리는 대소문자를 구분하지 않으므로 두 행을 모두 반환합니다.

그러나 다음 쿼리를 실행하면 다음 쿼리:

SELECT * FROM `table` WHERE BINARY `Value` = "iaresavage"

대소문자 구분 비교에서 두 번째 행을 제거하므로 첫 번째 행만 반환합니다. 행.

위 내용은 MySQL은 SELECT 쿼리에서 대소문자 구분을 어떻게 처리하며 이를 어떻게 재정의할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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