MySQL에서 특정 마지막 3자리 숫자를 가진 값을 조회 결과에서 제외하려면 RIGHT() 함수와 NOT IN 연산자를 함께 사용하면 됩니다. RIGHT() 함수는 문자열의 오른쪽부터 지정한 개수만큼의 문자를 반환하므로, 이를 활용해 값의 마지막 3자리를 추출한 뒤 제외할 값과 비교할 수 있습니다.
예제 테이블 생성
먼저 예제로 사용할 테이블을 생성합니다.
mysql> create table DemoTable(Value int); Query OK, 0 rows affected (0.71 sec)
데이터 삽입
INSERT 명령을 사용하여 테이블에 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable values(1234); Query OK, 1 row affected (0.54 sec) mysql> insert into DemoTable values(2345); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable values(7896); Query OK, 1 row affected (0.22 sec) mysql> insert into DemoTable values(4321); Query OK, 1 row affected (0.15 sec)
전체 데이터 확인
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+-------+ | Value | +-------+ | 1234 | | 2345 | | 7896 | | 4321 | +-------+ 4 rows in set (0.00 sec)
특정 마지막 3자리 값을 제외하는 쿼리
다음은 마지막 3자리가 '234' 또는 '321'인 값을 제외하고 조회하는 쿼리입니다.
mysql> select *from DemoTable where right(Value,3) NOT IN('234','321');실행 결과는 다음과 같습니다.
+-------+ | Value | +-------+ | 2345 | | 7896 | +-------+ 2 rows in set (0.00 sec)
결과를 보면 마지막 3자리가 '234'(1234) 또는 '321'(4321)인 두 개의 레코드가 제외되고, 나머지 2345와 7896만 반환된 것을 확인할 수 있습니다. 이처럼 RIGHT() 함수와 NOT IN을 조합하면 숫자나 문자열의 특정 끝자리 패턴을 손쉽게 필터링할 수 있습니다.