Sử dụng SUBSTRING() kết hợp INSTR() để trả về giá trị sau dấu phân cách.
Tạo bảng demo
mysql> create table DemoTable (
-> Title text
-> );
Query OK, 0 rows affected (0.56 sec)
Chèn dữ liệu
mysql> insert into DemoTable values('John is good in MySQL,Sam is good in MongoDB,Mike is good in Java');
Query OK, 1 row affected (0.19 sec)
Hiển thị dữ liệu
mysql> select * from DemoTable;
Kết quả
+-------------------------------------------------------------------+ | Title | +-------------------------------------------------------------------+ | John is good in MySQL,Sam is good in MongoDB,Mike is good in Java | +-------------------------------------------------------------------+ 1 row in set (0.00 sec)
Truy vấn lấy chuỗi sau dấu phẩy đầu tiên
mysql> select substring(Title, instr(Title, ',') + 1) as AfterDelimiter from DemoTable;
Kết quả
+---------------------------------------------+ | AfterDelimiter | +---------------------------------------------+ | Sam is good in MongoDB,Mike is good in Java | +---------------------------------------------+ 1 row in set (0.03 sec)
Giải thích:
INSTR(Title, ','): Tìm vị trí xuất hiện đầu tiên của dấu phẩy.+ 1: Bỏ qua chính dấu phân cách.SUBSTRING(Title, vi_tri): Lấy chuỗi con từ vị trí đó đến hết.
Mở rộng:
- Lấy phần trước dấu phân cách:
SUBSTRING_INDEX(Title, ',', 1) - Lấy phần thứ N:
SUBSTRING_INDEX(SUBSTRING_INDEX(Title, ',', n), ',', -1)