MySQL에서는 RIGHT() 함수를 사용하여 문자열의 마지막 12자리를 간단하게 추출할 수 있습니다. RIGHT() 함수는 두 개의 인수를 받으며, 첫 번째 인수는 대상 문자열 또는 컬럼명, 두 번째 인수는 반환받고자 하는 문자 수입니다.
1. 샘플 테이블 생성
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable
(
Number varchar(200)
);
Query OK, 0 rows affected (0.59 sec)
2. 레코드 삽입
INSERT 명령어를 사용하여 테이블에 데이터를 삽입합니다.
mysql> insert into DemoTable values('7437647847847474374747464647484949959958484');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('9990000399494959697080800007007070808080808');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('1211111212344554444443333345555554433333333333333');
Query OK, 1 row affected (0.14 sec)3. 전체 데이터 조회
SELECT 문을 사용하여 테이블에 저장된 모든 레코드를 확인합니다.
mysql> select * from DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+---------------------------------------------------+
| Number |
+---------------------------------------------------+
| 7437647847847474374747464647484949959958484 |
| 9990000399494959697080800007007070808080808 |
| 1211111212344554444443333345555554433333333333333 |
+---------------------------------------------------+
3 rows in set (0.00 sec)
4. RIGHT() 함수로 마지막 12자리 추출하기
이제 RIGHT() 함수를 활용하여 문자열의 마지막 12자리를 가져오는 쿼리를 실행해 보겠습니다.
mysql> select right(Number,12) as `Last 12 Digit From String` from DemoTable;
실행 결과는 다음과 같습니다.
+---------------------------+
| Last 12 Digit From String |
+---------------------------+
| 949959958484 |
| 070808080808 |
| 333333333333 |
+---------------------------+
3 rows in set (0.00 sec)
결과를 확인해 보면 각 문자열에서 정확히 마지막 12자리만 추출되어 출력된 것을 알 수 있습니다. 이처럼 RIGHT() 함수를 사용하면 복잡한 문자열 처리 로직 없이도 원하는 위치의 문자를 손쉽게 가져올 수 있습니다. 참고로 문자열의 앞부분을 추출하고 싶다면 LEFT() 함수를, 중간 부분을 추출하고 싶다면 SUBSTRING() 함수를 사용하면 됩니다.