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

MySQL에서 문자열의 마지막 값이 특정 값과 일치하는 레코드 조회하는 방법

MySQL에서 문자열의 마지막 값이 특정 값(예: '10', '15' 등)과 일치하는 레코드를 조회하려면 LIKE 연산자와 와일드카드를 함께 사용하면 됩니다. 이 글에서는 예제를 통해 그 방법을 단계별로 살펴보겠습니다.

1. 예제 테이블 생성

먼저 실습에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    ClientId varchar(20)
);
Query OK, 0 rows affected (0.68 sec)

2. 데이터 삽입

INSERT 명령을 사용해 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values('CLI-101');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('CLI-110');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('CLI-201');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('CLI-210');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('CLI-502');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('CLI-1010');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('CLI-1012');
Query OK, 1 row affected (0.15 sec)

3. 전체 레코드 확인

SELECT 문을 실행하여 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+----------+
| ClientId |
+----------+
| CLI-101  |
| CLI-110  |
| CLI-201  |
| CLI-210  |
| CLI-502  |
| CLI-1010 |
| CLI-1012 |
+----------+
7 rows in set (0.00 sec)

4. 문자열 끝이 '10' 또는 '12'인 레코드 조회

문자열의 마지막 값이 '10' 또는 '12'로 끝나는 레코드만 조회하려면, % 와일드카드를 값 앞에 붙여 LIKE 조건을 작성하면 됩니다. %는 임의의 개수의 문자와 일치하는 와일드카드 역할을 하므로, '%10'은 '10'으로 끝나는 모든 문자열을 의미합니다.

mysql> select *from DemoTable where ClientId like '%10' or ClientId like '%12';

실행 결과는 다음과 같습니다.

+----------+
| ClientId |
+----------+
| CLI-110  |
| CLI-210  |
| CLI-1010 |
| CLI-1012 |
+----------+
4 rows in set (0.00 sec)

결과를 보면 '10' 또는 '12'로 끝나는 4개의 레코드만 정확히 필터링되어 반환된 것을 확인할 수 있습니다. 이처럼 LIKE 연산자와 % 와일드카드를 조합하면 문자열의 접미사(suffix) 기준 검색을 손쉽게 구현할 수 있습니다.