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

Cắt phần chuỗi trước dấu gạch ngang trong MySQL

Dùng SUBSTRING_INDEX() kết hợp SUBSTRING() và INSTR() để lấy phần sau dấu gạch ngang (hoặc trước, tùy logic).

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (StudentId VARCHAR(100));

Chèn dữ liệu:

mysql> INSERT INTO DemoTable VALUES('STU-1011');
mysql> INSERT INTO DemoTable VALUES('STU-95968686');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+--------------+
| StudentId    |
+--------------+
| STU-1011     |
| STU-95968686 |
+--------------+

Lấy phần sau dấu - (phần số):

mysql> SELECT SUBSTRING_INDEX(SUBSTRING(StudentId, INSTR(StudentId, '-') + 1), ' ', 1) FROM DemoTable;

Kết quả

+------------------------------------------------------------------------+
| SUBSTRING_INDEX(SUBSTRING(StudentId, INSTR(StudentId, '-') + 1), ' ', 1) |
+------------------------------------------------------------------------+
| 1011                                                                   |
| 95968686                                                               |
+------------------------------------------------------------------------+

Giải thích đơn giản hơn: SUBSTRING_INDEX(StudentId, '-', -1) cũng cho kết quả y hệt (lấy phần sau dấu - cuối cùng). Cách trong ví dụ phức tạp hơn nhưng minh họa kết hợp nhiều hàm chuỗi.