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

테이블에서 레코드를 검색하기 위해 LIKE 연산자와 함께 MySQL SOUNDEX() 함수를 사용하는 방법은 무엇입니까?


SOUNDEX() 함수가 soundex를 반환하는 데 사용된다는 것을 알고 있듯이 문자열의 문자열인 sound를 영어로 발음한 후 이름을 인덱싱하는 음성 알고리즘입니다. 다음 예에서는 'student_info' 테이블에서 데이터를 가져오고 테이블에서 특정 레코드를 검색하기 위해 SOUNDEX() 함수를 LIKE 연산자와 함께 적용합니다 -

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101 | YashPal  | Amritsar   | History    |
| 105 | Gaurav   | Chandigarh | Literature |
| 125 | Raman    | Shimla     | Computers  |
+------+---------+------------+------------+
3 rows in set (0.00 sec)

mysql> Select * from student_info where SOUNDEX(Name) LIKE '%G%';
+------+--------+------------+------------+
| id   | Name   | Address    | Subject    |
+------+--------+------------+------------+
| 105  | Gaurav | Chandigarh | Literature |
+------+--------+------------+------------+
1 row in set (0.00 sec)

SOUNDEX() 함수의 인수로 열 이름을 사용했으며 SOUNDEX 값이 LIKE %G%인 행을 반환합니다.

SOUNDEX() 함수의 출력은 항상 인수로 전달된 문자열의 첫 글자를 포함한다는 것을 기억하십시오. 예를 들어, SOUNDEX() 함수의 인수로 'Ram'을 전달한 다음 출력을 보면 첫 번째 문자로 'R'이 포함됩니다 -

mysql> Select SOUNDEX('Ram');
+----------------+
| SOUNDEX('Ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)

mysql> Select SOUNDEX('ram');
+----------------+
| SOUNDEX('ram') |
+----------------+
| R500           |
+----------------+
1 row in set (0.00 sec)