post-image

LIKE trong MySQL

Tổng quan

Mệnh đề LIKE trong MySQL được sử dụng để so sánh một giá trị với các giá trị tương tự sử dụng toán tử ký tự đại diện (wildcard). Có hai ký tự đại diện được sử dụng kết hợp với toán tử này.

  • Phần trăm (%)
  • Dấu gạch dưới (_)

Dấu phần trăm (%) thể hiện không, một hoặc nhiều ký tự. Dấu gạch (_) dưới đại diện cho một số hoặc một ký tự. Những ký hiệu này có thể được sử dụng trong sự kết hợp.

Cú pháp

Cú pháp cơ bản của ‘%’ và ‘_’ là như sau:

SELECT FROM table_name
WHERE column LIKE 'XXXX%'or SELECT FROM table_name
WHERE column LIKE '%XXXX%'orSELECT FROM table_name
WHERE column LIKE 'XXXX_'orSELECT FROM table_name
WHERE column LIKE '_XXXX'orSELECT FROM table_name
WHERE column LIKE '_XXXX_'

Bạn có thể kết hợp N điều kiện bằng cách sử dụng các toán tử AND hoặc OR. Ở đây, XXXX có thể là bất kỳ giá trị số hay chuỗi nào.

Ví dụ mệnh đề Like trong MySQL

Bảng dưới đây có một vài ví dụ cho thấy mệnh đề WHERE có mệnh đề này với toán tử ‘%’ và ‘_’ khác nhau:

No. Câu lệnh và mô tả
1 WHERE SALARY LIKE ‘200%’

 

Tìm bất kỳ giá trị nào bắt đầu bằng 200.

2 WHERE SALARY LIKE ‘%200%’

 

Tìm bất kỳ giá trị nào có 200 vị trí bất kỳ.

3 WHERE SALARY LIKE ‘_00%’

 

Tìm bất kỳ giá trị nào có 00 ở vị trí thứ hai và thứ ba.

4 WHERE SALARY LIKE ‘2_%_%’

 

Tìm bất kỳ giá trị nào bắt đầu bằng 2 và có ít nhất 3 ký tự.

5 WHERE SALARY LIKE ‘%2’

 

Tìm bất kỳ giá trị nào kết thúc bằng 2.

6 WHERE SALARY LIKE ‘_2%3’

 

Tìm bất kỳ giá trị nào có vị trí 2 ở vị trí thứ hai và kết thúc bằng 3.

7 WHERE SALARY LIKE ‘2___3’

 

Tìm bất kỳ giá trị nào trong số năm chữ số bắt đầu bằng 2 và kết thúc bằng 3.

Ví dụ sử dụng trong câu lệnh

Giả sử bảng CUSTOMERS có các bản ghi như hình dưới đây.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ha Anh   |  32 | Da Nang   |  2000.00 |
|  2 | Van Ha   |  25 | Ha Noi    |  1500.00 |
|  3 | Vu Bang  |  23 | Vinh      |  2000.00 |
|  4 | Thu Minh |  25 | Ha Noi    |  6500.00 |
|  5 | Hai An   |  27 | Ha Noi    |  8500.00 |
|  6 | Hoang    |  22 | Ha Noi    |  4500.00 |
|  7 | Binh     |  24 | Ha Noi    | 10000.00 |
+----+----------+-----+-----------+----------+

Ví dụ hiển thị tất cả các bản ghi từ bảng CUSTOMERS, với điều kiện SALARY bắt đầu với 200.

SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

Câu lệnh trên sẽ tạo ra kết quả sau:

Mệnh đề LIKE trong MySQL

Nguồn: https://viettuts.vn/mysql/menh-de-like-trong-mysql

Leave a Reply

Your email address will not be published.