WHERE 절과 함께 ASCII() 함수 활용하기
MySQL에서 ASCII() 함수는 문자열의 가장 왼쪽(첫 번째) 문자에 해당하는 숫자 코드를 반환합니다. 이 함수를 WHERE 절과 함께 사용하면, WHERE 절에 지정된 조건에 따라 최종 출력 결과가 결정됩니다.
예를 들어 'Student'라는 테이블이 있고, 학생 이름 첫 글자의 아스키 코드 값이 65보다 큰 학생들만 조회하고 싶다고 가정해 보겠습니다. 먼저 테이블의 전체 데이터를 확인해 보겠습니다.
mysql> Select * from student; +------+---------+---------+-----------+ | Id | Name | Address | Subject | +------+---------+---------+-----------+ | 1 | Gaurav | Delhi | Computers | | 2 | Aarav | Mumbai | History | | 15 | Harshit | Delhi | Commerce | | 20 | Gaurav | Jaipur | Computers | +------+---------+---------+-----------+ 4 rows in set (0.10 sec)
테이블에는 총 4명의 학생 데이터가 저장되어 있습니다. 이제 WHERE 절에 조건을 적용하여 이름 첫 글자의 아스키 코드가 65보다 큰 학생만 조회하는 쿼리는 다음과 같이 작성할 수 있습니다.
mysql> Select Name, ASCII(Name) As 'ASCII VALUE OF 1st Character' From Student WHERE ASCII(Name)>65; +---------+------------------------------+ | Name | ASCII VALUE OF 1st Character | +---------+------------------------------+ | Gaurav | 71 | | Harshit | 72 | | Gaurav | 71 | +---------+------------------------------+ 3 rows in set (0.00 sec)
결과 분석
출력 결과를 보면 이름이 'A'로 시작하는 'Aarav' 학생은 목록에서 제외된 것을 확인할 수 있습니다. 그 이유는 대문자 'A'의 아스키 코드 값이 정확히 65이므로 '>65' 조건을 만족하지 않기 때문입니다. 반면 'G'(71)와 'H'(72)로 시작하는 이름들은 조건을 통과하여 결과에 포함됩니다.
이처럼 ASCII() 함수를 WHERE 절과 조합하면 문자의 아스키 코드 값을 기준으로 데이터를 손쉽게 필터링할 수 있습니다.