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

MySQL LIKE와 같음(=) 연산자의 중요한 차이점은 무엇입니까?

<시간/>

MySQL 테이블에서 데이터를 가져오는 MySQL SELECT 명령을 보았습니다. WHERE 절이라고 하는 조건절을 사용하여 필요한 레코드를 선택할 수도 있습니다.

'같음' 기호(=)가 있는 WHERE 절은 정확히 일치를 수행하려는 경우 잘 작동합니다. "tutorial_author ='Sanjay'"인 경우와 같습니다. 그러나 tutorial_author 이름에 "jay"가 포함되어야 하는 모든 결과를 필터링하려는 요구 사항이 있을 수 있습니다. 이것은 WHERE 절과 함께 MySQL LIKE 연산자를 사용하여 처리할 수 있습니다.

와일드카드 문자 없이 MySQL LIKE 연산자를 사용하는 경우 LIKE 연산자는 WHERE 절과 함께 기호로 등호와 매우 동일합니다.

예시

mysql> Select * from Student Where Name LIKE 'Harshit';
+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_admission  |
+------+---------+---------+----------+--------------------+
| 15   | Harshit | Delhi   | Commerce |       2009         |
+------+---------+---------+----------+--------------------+
1 row in set (0.00 sec)

mysql> Select * from Student Where Name = 'Harshit';
+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_admission  |
+------+---------+---------+----------+--------------------+
| 15   | Harshit | Delhi   | Commerce |      2009          |
+------+---------+---------+----------+--------------------+
1 row in set (0.00 sec)

와일드카드 문자, %, _가 있다는 차이점 외에 LIKE와 =연산자 사이에는 중요한 차이점이 있습니다. LIKE 연산자는 후행 공백을 무시하지 않고 =연산자는 후행 공백을 무시한다는 것입니다.

예시

mysql> Select * from Student Where Name = 'Harshit ';
+------+---------+---------+----------+--------------------+
| Id   | Name    | Address | Subject  | year_of_admission  |
+------+---------+---------+----------+--------------------+
| 15   | Harshit | Delhi   | Commerce |       2009         |
+------+---------+---------+----------+--------------------+
1 row in set (0.00 sec)

mysql> Select * from Student Where Name LIKE 'Harshit ';
Empty set (0.00 sec)