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

MySQL WHERE 절에서 CHAR_LENGTH() 함수 활용 방법 완벽 가이드

CHAR_LENGTH() 또는 CHARACTER_LENGTH() 문자열 함수는 WHERE 절과 함께 사용할 수 있으며, 이 경우 반환되는 결과는 WHERE 절에 지정된 조건에 따라 결정됩니다. 즉, 문자열 길이를 기준으로 원하는 레코드만 필터링하여 조회할 수 있습니다.

예를 들어, 'Student'라는 테이블이 있고 이름의 문자 수가 6자 미만인 학생만 조회하고 싶다고 가정해 보겠습니다. 이때 다음과 같은 쿼리를 작성할 수 있습니다.

예시 테이블 확인

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)

CHAR_LENGTH()와 WHERE 절 조합하기

위 테이블에서 이름 길이가 6자 미만인 학생을 찾으려면 SELECT 문에 WHERE 절과 CHAR_LENGTH() 함수를 함께 사용합니다.

mysql> Select Name, CHAR_LENGTH(Name) from student WHERE CHAR_LENGTH(Name)<6;

+-------+-------------------+
| Name  | CHAR_LENGTH(Name) |
+-------+-------------------+
| Aarav | 5                 |
+-------+-------------------+

1 row in set (0.00 sec)

결과 분석

위 쿼리의 실행 결과를 보면, 전체 4개의 레코드 중 'Aarav'(5글자) 하나만 조건을 충족하여 반환되었습니다. 'Gaurav'(6글자), 'Harshit'(7글자)은 각각 6자 이상이므로 결과에서 제외된 것입니다.

이처럼 CHAR_LENGTH() 함수를 WHERE 절에서 활용하면 문자열 데이터의 길이를 손쉽게 검증할 수 있으며, 입력값 유효성 확인, 데이터 정제, 특정 형식의 데이터 추출 등 다양한 상황에서 유용하게 사용됩니다.