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

Kiểm tra chuỗi có chứa từ khóa trong MySQL với LIKE và CONCAT

Dùng LIKE kết hợp CONCAT(). Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Value TEXT
); Query OK, 0 rows affected (0.63 sec)

Chèn dữ liệu (mỗi từ một hàng):

mysql> INSERT INTO DemoTable VALUES('MySQL');      Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('Is');        Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable VALUES('Relational'); Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES('Database');  Query OK, 1 row affected (0.13 sec)

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả:

+------------+
| Value      |
+------------+
| MySQL      |
| Is         |
| Relational |
| Database   |
+------------+
4 rows in set (0.00 sec)

Tìm hàng nào chứa trong chuỗi 'Relational' (tức từ 'Relational' chứa giá trị cột Value):

mysql> SELECT Value FROM DemoTable 
WHERE 'Relational' LIKE CONCAT('%', Value, '%');

Kết quả:

+------------+
| Value      |
+------------+
| Relational |
+------------+
1 row in set (0.00 sec)

Giải thích: CONCAT('%', Value, '%') tạo pattern %Value%. Câu truy vấn kiểm tra chuỗi cố định 'Relational' có chứa giá trị cột Value không. Ngược lại (tìm cột chứa từ khóa): WHERE Value LIKE '%Relational%'.