MySQL에서 열의 마지막 숫자로 레코드 찾기
MySQL에서 특정 마지막 숫자로 끝나는 레코드를 조회하려면 RIGHT() 함수를 사용하면 됩니다. RIGHT() 함수는 문자열의 오른쪽부터 지정한 개수만큼의 문자를 반환하는 함수로, 마지막 자릿수를 손쉽게 추출할 수 있습니다.
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable823(Value varchar(100));
Query OK, 0 rows affected (0.54 sec)
INSERT 명령을 사용하여 테이블에 샘플 데이터를 입력합니다.
mysql> insert into DemoTable823 values('9847826');
Query OK, 1 row affected (0.52 sec)
mysql> insert into DemoTable823 values('84747464');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable823 values('9899889883');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable823 values('123456');
Query OK, 1 row affected (0.10 sec)SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.
mysql> select *from DemoTable823;
위 쿼리는 다음과 같은 결과를 출력합니다.
+------------+
| Value |
+------------+
| 9847826 |
| 84747464 |
| 9899889883 |
| 123456 |
+------------+
4 rows in set (0.00 sec)
특정 마지막 숫자로 레코드 조회하는 쿼리
다음은 마지막 숫자가 '6'인 레코드만 조회하는 쿼리입니다. WHERE 절에서 RIGHT(Value, 1)을 사용하여 각 값의 마지막 한 자리를 추출하고, 이를 원하는 숫자와 비교합니다.
mysql> select *from DemoTable823 where right(Value,1)='6';
실행 결과는 다음과 같습니다.
+---------+
| Value |
+---------+
| 9847826 |
| 123456 |
+---------+
2 rows in set (0.00 sec)
결과를 보면 마지막 숫자가 '6'으로 끝나는 두 개의 레코드(9847826, 123456)만 정상적으로 반환된 것을 확인할 수 있습니다.
추가 팁
RIGHT() 함수 대신 LIKE 연산자를 사용하여 같은 결과를 얻을 수도 있습니다. 예를 들어 WHERE Value LIKE '%6'처럼 작성하면 '6'으로 끝나는 값을 찾을 수 있습니다. 다만 RIGHT() 함수는 마지막 여러 자리를 비교해야 할 때 더 유연하게 활용할 수 있다는 장점이 있습니다. 예를 들어 마지막 두 자리가 '26'인 레코드를 찾으려면 RIGHT(Value, 2) = '26'과 같이 조건을 확장하면 됩니다.