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

Lấy phần giữa của chuỗi bị bao quanh bởi dấu gạch chéo trong MySQL

Dùng SUBSTRING_INDEX() lồng nhau để cắt chuỗi theo phân cách. Ví dụ lấy đoạn giữa hai dấu /.

Ví dụ minh họa

Tạo bảng:

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

Chèn dữ liệu:

mysql> INSERT INTO DemoTable VALUES('/101/102/106');
mysql> INSERT INTO DemoTable VALUES('/110/111/101');
mysql> INSERT INTO DemoTable VALUES('/111/114/201');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+--------------+
| Code         |
+--------------+
| /101/102/106 |
| /110/111/101 |
| /111/114/201 |
+--------------+

Lấy đoạn thứ 3 (tính từ trái, sau dấu / thứ 2):

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Code, '/', 3), '/', -1) FROM DemoTable;

Kết quả

+-----------------------------------------------------+
| SUBSTRING_INDEX(SUBSTRING_INDEX(Code,'/',3), '/',-1) |
+-----------------------------------------------------+
| 102                                                 |
| 111                                                 |
| 114                                                 |
+-----------------------------------------------------+

Giải thích:

  1. SUBSTRING_INDEX(Code, '/', 3) lấy từ đầu đến dấu / thứ 3: /101/102
  2. SUBSTRING_INDEX(..., '/', -1) lấy phần sau dấu / cuối cùng của kết quả trên: 102