Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

어떻게 MySQL LIKE가 대소문자를 구분하도록 강제합니까?


LIKE BINARY를 사용하여 MySQL LIKE가 대소문자를 구분하도록 하려면 다음 구문을 사용하십시오. -

select yourColumnName like binary 'anyStringValue' from yourTableName;

위의 개념을 이해하기 위해 테이블을 만들어 보겠습니다. 다음은 테이블을 생성하는 쿼리입니다 -

mysql> create table LikeBinaryDemo
   −> (
   −> Name varchar(200)
   −> );
Query OK, 0 rows affected (0.58 sec)

이제 MySQL LIKE가 대소문자를 구분하도록 하기 위해 소문자로 된 레코드를 삽입할 수 있습니다 -

mysql> insert into LikeBinaryDemo values('john');
Query OK, 1 row affected (0.12 sec)

테이블의 레코드를 표시합니다. 쿼리는 다음과 같습니다 -

mysql> select *from LikeBinaryDemo;

다음은 출력입니다 -

+------+
| Name |
+------+
| john |
+------+
1 row in set (0.00 sec)

사례 1 - 바이너리 사용

이제 LIKE BINARY를 사용하여 MySQL Like가 대소문자를 구분하도록 할 수 있습니다.

바이너리처럼. 이 경우 'john'과 'JOHN'을 비교하면 값이 0이 됩니다. 쿼리는 다음과 같습니다 -

mysql> select Name like binary 'JOHN' from LikeBinaryDemo;

다음은 출력입니다 -

+-------------------------+
| Name like binary 'JOHN' |
+-------------------------+
|                       0 |
+-------------------------+
1 row in set (0.00 sec)

사례 2 - BINARY를 사용하지 않는 경우

이제 BINARY를 사용하지 않을 때 어떤 일이 발생하는지 봅시다. 쿼리는 다음과 같습니다 -

mysql> select Name like 'JOHN' from LikeBinaryDemo;

다음은 출력입니다 -

+------------------+
| Name like 'JOHN' |
+------------------+
| 1 |
+------------------+
1 row in set (0.00 sec)

LIKE BINARY를 사용하여 MySQL이 대소문자를 구분하도록 할 수 있습니다.