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

MySQL에서 RIGHT() 함수로 특정 마지막 숫자를 가진 레코드 조회하기

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'과 같이 조건을 확장하면 됩니다.