All Honey Tip

SQL 초성으로 이름 찾는 방법 (자음으로 데이터 찾기)

SQL 초성으로 이름 찾는 방법 (자음으로 데이터 찾기)

SQL 초성으로 이름 찾는 방법에 대해 알아보겠습니다. 딱히 필요한 거 같진 않지만, 자음으로 데이터를 찾아야할 일이 생겨서 저와 같은 Case가 생기시면 도움이 되시라고 포스팅하게 되었습니다 🙂

초성으로 이름을 찾아야 하는데, 딱히 생각나는 게 없었습니다. LIKE..? IN..? 모두 엄청난 노가다성 코드가 필요한 것 같아서 어느정도 창의성을 발휘해야할 것 같더라구요.

그러다 문득 웹 개발 시 “아이디” input 값을 필터링할 때 쓰는 정규식과 WHERE 절의 BETWEEN 연산자가 떠올랐습니다.



BETWEEN A AND B

BETWEEN 연산자는 문자의 경우 유니코드 기준으로 작동합니다.
즉, 유니코드상 “가-힣”모든 문자 범위를 포함합니다.

테스트로 특정 테이블에서 자음 ㅎㄱㄷ으로 구성된 이름을 찾아보겠습니다.

SELECT 	USERNAME
FROM 	USERLOGIN
WHERE 	SUBSTRING(USERNAME,1,1) BETWEEN '하' AND '힣'
AND 	SUBSTRING(USERNAME,2,1) BETWEEN '가' AND '깋'
AND 	SUBSTRING(USERNAME,3,1) BETWEEN '다' AND '딯'
SQL 초성으로 이름 찾는 방법 (자음으로 데이터 찾기)

잘 필터링 되는 것을 확인할 수 있습니다 🙂
완료입니다.

데이터베이스 기술 면접 질문

SQL 초성으로 이름 찾는 방법 (자음으로 데이터 찾기)