Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Loại bỏ tiền tố chuỗi (EMP) từ cột mã nhân viên trong MySQL

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;