W3School

SQL Wildcards

Một ký tự đại diện (Wildcards) được sử dụng để thay thế một hoặc nhiều ký tự trong một chuỗi.

Các ký tự đại diện được sử dụng với toán tử LIKE. Toán tử LIKE  được sử dụng trong một mệnh đề WHERE để tìm kiếm một mẫu xác định trong một cột. 

Wildcard Characters in MS Access

SymbolDescriptionExample
*Đại diện cho không hoặc nhiều ký tựbl* finds bl, black, blue, and blob
?Đại diện cho một ký tự duy nhấth?t finds hot, hat, and hit
[]Đại diện cho bất kỳ ký tự đơn nào trong dấu ngoặch[oa]t finds hot and hat, but not hit
!Đại diện cho bất kỳ ký tự nào không có trong dấu ngoặch[!oa]t finds hit, but not hot and hat
Đại diện cho bất kỳ ký tự đơn lẻ nào trong phạm vi được chỉ địnhc[a-b]t finds cat and cbt
#Đại diện cho bất kỳ ký tự số đơn lẻ nào2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285, and 295

Wildcard Characters in SQL Server

SymbolDescriptionExample
%Đại diện cho không, một hoặc nhiều ký tựbl% finds bl, black, blue, and blob
_Đại diện cho một ký tự duy nhấth_t finds hot, hat, and hit
[]Đại diện cho bất kỳ ký tự đơn nào trong dấu ngoặch[oa]t finds hot and hat, but not hit
^Đại diện cho bất kỳ ký tự nào không có trong dấu ngoặch[^oa]t finds hit, but not hot and hat
Đại diện cho bất kỳ ký tự đơn lẻ nào trong phạm vi được chỉ địnhc[a-b]t finds cat and cbt

Tất cả các ký tự đại diện cũng có thể được sử dụng kết hợp!

MYSQL

MYSQL Chỉ có hai wildcard là “%” và “_”.

Ví dụ

Dưới đây là một số ví dụ hiển thị toán tử LIKE khác nhau với các ký tự đại diện (Wildcard) ‘%’ và ‘_’:

LIKE OperatorDescription
WHERE CustomerName LIKE ‘a%’Tìm tất cả tên khách hàng bắt đầu bằng “a”
WHERE CustomerName LIKE ‘%a’Tìm tất cả tên khách hàng kết thúc với “a”
WHERE CustomerName LIKE ‘%or%’Tìm tất cả khách hàng có chứ “or” ở bất kỳ vị trí nào.
WHERE CustomerName LIKE ‘_r%’Tìm tất cả khách hàng có ký tự thứ 2 là “r”.
WHERE CustomerName LIKE ‘a_%’Tìm tất cả khách hàng bắt đầu bằng a và có ít nhất 2 ký tự.
WHERE CustomerName LIKE ‘a__%’Tìm tất cả khách hàng bắt đầu bằng a và có ít nhất 3 ký tự.
WHERE ContactName LIKE ‘a%o’Tìm tất cả khách hàng bắt đầu bằng a và kết thúc bằng o.

Bạn có thể download cơ sở dữ liệu Northwind để bắt đầu thực hành tại đây:

- Dành cho Sql Server, MS Access Download
- Dành cho Mysql: Tạo bảng trước với Download Table sau đó hãy điền data với Download Data
- Dành cho Oracle Download

Lưu ý: Tên bảng trong CSDL cho SQL Server thường được viết hoa chữ đầu. Với Mysql thì tên bảng được viết thường. Và với Oracle thì tên bảng toàn bộ được viết hoa. Bạn hãy viết đúng tên bảng trong query của mình nhé.

Trong nội dung bài viết, đôi khi tên bảng được viết dưới dạng tiếng Việt, ví dụ:

- Customers: Khách hàng
- Orders: Đơn hàng
- Employees: Nhân viên
- Shipers: Giao hàng
- Invoices: Hoá đơn

W3School

Leave a comment

Your email address will not be published. Required fields are marked *