WHERE 절에서 LIKE 패턴 매칭과 CHAR_LENGTH() 길이 조건을 AND로 결합하면 두 조건을 모두 만족하는 레코드만 조회할 수 있습니다.
테이블 생성 및 데이터 삽입
mysql> CREATE TABLE DemoTable (
-> Name VARCHAR(20)
-> );
Query OK, 0 rows affected (0.49 sec)
mysql> INSERT INTO DemoTable VALUES('Chris Brown');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('Adam Smith');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES('John Smith');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('Carol Smith');
Query OK, 1 row affected (0.13 sec)
데이터 조회
mysql> SELECT * FROM DemoTable;
+-------------+ | Name | +-------------+ | Chris Brown | | Adam Smith | | John Smith | | Carol Smith | +-------------+ 4 rows in set (0.00 sec)
LIKE와 길이 조건 결합
mysql> SELECT * FROM DemoTable
-> WHERE Name LIKE '%Smith%'
-> AND CHAR_LENGTH(Name) < 11;
+------------+ | Name | +------------+ | Adam Smith | | John Smith | +------------+ 2 rows in set (0.00 sec)
해설: LIKE '%Smith%'로 'Smith'가 포함된 이름을 찾고, CHAR_LENGTH(Name) < 11로 전체 이름 길이가 10자 이하인 것만 필터링했습니다. 'Chris Brown'(11자)과 'Carol Smith'(11자)는 길이 조건에 걸려 제외됩니다.