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

MySQL WHERE 절과 함께 ASCII() 함수를 사용하는 방법

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 절과 조합하면 문자의 아스키 코드 값을 기준으로 데이터를 손쉽게 필터링할 수 있습니다.