Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tìm các chuỗi có tiền tố đã cho trong MySQL?

Bạn có thể sử dụng toán tử LIKE để tìm các chuỗi có tiền tố đã cho.

Cú pháp như sau

select *from yourTableName where yourColumnName LIKE 'yourPrefixValue%';

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau

mysql> create table findStringWithGivenPrefixDemo
   -> (
   -> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> UserMessage text
   -> );
Query OK, 0 rows affected (0.82 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn.

Truy vấn như sau

mysql> insert into findStringWithGivenPrefixDemo(UserMessage) values('Hi Good Morning !!!');
Query OK, 1 row affected (0.17 sec)
mysql> insert into findStringWithGivenPrefixDemo(UserMessage) values('Hey I am busy!!');
Query OK, 1 row affected (0.20 sec)
mysql> insert into findStringWithGivenPrefixDemo(UserMessage) values('Hello what are you doing!!!');
Query OK, 1 row affected (0.47 sec)
mysql> insert into findStringWithGivenPrefixDemo(UserMessage) values('Hi I am learning MongoDB!!!');
Query OK, 1 row affected (0.15 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select.

Truy vấn như sau

mysql> select *from findStringWithGivenPrefixDemo;

Sau đây là kết quả

+--------+-----------------------------+
| UserId | UserMessage                 |
+--------+-----------------------------+
| 1      | Hi Good Morning !!!         |
| 2      | Hey I am busy!!             |
| 3      | Hello what are you doing!!! |
| 4      | Hi I am learning MongoDB!!! |
+--------+-----------------------------+
4 rows in set (0.00 sec)

Đây là truy vấn để tìm các chuỗi có tiền tố đã cho

mysql> select *from findStringWithGivenPrefixDemo where UserMessage LIKE 'Hi%';

Sau đây là đầu ra chỉ hiển thị các chuỗi có tiền tố “Hi”

+--------+-----------------------------+
| UserId | UserMessage                 |
+--------+-----------------------------+
| 1      | Hi Good Morning !!!         |
| 4      | Hi i am learning MongoDB!!! |
+--------+-----------------------------+
2 rows in set (0.00 sec)