Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL SOUNDS LIKE 연산자로 발음이 비슷한 데이터 검색하는 방법

MySQL에서는 SOUNDS LIKE 연산자를 사용하면 테이블에 저장된 값 중에서 발음(sound)이 서로 비슷한 데이터를 손쉽게 검색할 수 있습니다. 이 기능은 철자가 조금 다르더라도 소리가 같거나 유사한 문자열을 찾아야 할 때 특히 유용합니다.

기본 문법

Expression1 SOUNDS LIKE Expression2

여기서 Expression1과 Expression2는 두 표현식의 영어 발음을 기준으로 서로 비교됩니다. 내부적으로 SOUNDS LIKE는 SOUNDEX() 함수와 동일하게 작동하며, 각 문자열을 음성 코드로 변환한 뒤 두 코드가 일치하는지 확인합니다.

사용 예시

다음은 'student' 테이블에서 이름의 발음이 'hrst'와 유사한 레코드를 조회하는 예제입니다. 실제 저장된 이름은 'Harshit'이지만, 발음이 비슷하기 때문에 정상적으로 검색되는 것을 확인할 수 있습니다.

mysql> Select Id, Name, Address, Subject from student where name sounds like 'hrst';
+------+---------+---------+----------+
| Id   | Name    | Address | Subject  |
+------+---------+---------+----------+
| 15   | Harshit | Delhi   | Commerce |
+------+---------+---------+----------+
1 row in set (0.00 sec)

위 결과에서 볼 수 있듯이, WHERE 절에 SOUNDS LIKE 조건을 넣으면 철자가 완전히 일치하지 않아도 발음 기준으로 원하는 데이터를 찾을 수 있습니다. 사용자 이름 검색, 오타 허용 검색 등 다양한 상황에서 활용할 수 있는 유용한 기능입니다.