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

Truy vấn MySQL trả về chuỗi con sau dấu phân cách

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)