Giới thiệu
Sử dụng hàm RIGHT() và LENGTH() để trích xuất phần số sau tiền tố cố định 'EMP' (3 ký tự).
1. Tạo bảng và dữ liệu
mysql> create table DemoTable1540 (
-> EmployeeCode varchar(20)
-> );
Query OK, 0 rows affected (0.39 sec)
mysql> insert into DemoTable1540 values('EMP9');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1540 values('EMP4');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1540 values('EMP8');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1540 values('EMP6');
Query OK, 1 row affected (0.12 sec)
2. Dữ liệu gốc
mysql> select * from DemoTable1540;
+--------------+ | EmployeeCode | +--------------+ | EMP9 | | EMP4 | | EMP8 | | EMP6 | +--------------+ 4 rows in set (0.00 sec)
3. Truy vấn tách phần số
mysql> select right(EmployeeCode, length(EmployeeCode)-3) as onlyDigit from DemoTable1540;
Công thức: RIGHT(chuỗi, LENGTH(chuỗi) - độ_dài_tiền_tố)
4. Kết quả
+-----------+ | onlyDigit | +-----------+ | 9 | | 4 | | 8 | | 6 | +-----------+ 4 rows in set (0.00 sec)
Mở rộng: Nếu tiền tố có độ dài khác nhau, dùng SUBSTRING_INDEX hoặc REPLACE:
-- Xóa tiền tố 'EMP' bất kể vị trí SELECT REPLACE(EmployeeCode, 'EMP', '') as onlyDigit FROM DemoTable1540; -- Hoặc dùng SUBSTRING từ vị trí sau tiền tố SELECT SUBSTRING(EmployeeCode, 4) as onlyDigit FROM DemoTable1540;