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
Symbol | Description | Example |
---|---|---|
* | Đạ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ất | h?t finds hot, hat, and hit |
[] | Đại diện cho bất kỳ ký tự đơn nào trong dấu ngoặc | h[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ặc | h[!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ỉ định | c[a-b]t finds cat and cbt |
# | Đại diện cho bất kỳ ký tự số đơn lẻ nào | 2#5 finds 205, 215, 225, 235, 245, 255, 265, 275, 285, and 295 |
Wildcard Characters in SQL Server
Symbol | Description | Example |
---|---|---|
% | Đạ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ất | h_t finds hot, hat, and hit |
[] | Đại diện cho bất kỳ ký tự đơn nào trong dấu ngoặc | h[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ặc | h[^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ỉ định | c[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 Operator | Description |
---|---|
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
- SQL Tutorial
- Cú pháp SQL
- Câu lệnh SQL SELECT
- Câu lệnh SQL SELECT DISTINCT
- WHERE SQL
- Toán tử AND, OR và NOT
- Sắp xếp dữ liệu với ORDER BY
- NULL Trong SQL
- INSERT INTO
- SQL UPDATE
- SQL Delete
- SQL Top
- Hàm MIN MAX trong SQL
- COUNT, AVG và SUM
- SQL Toán tử LIKE
- SQL Wildcards
- Toán tử SQL IN
- SQL BETWEEN
- SQL ALIAS
- SQL JOIN
- SQL INNER JOIN
- LEFT JOIN Trong SQL
- RIGHT JOIN Trong SQL
- SQL FULL OUTER JOIN TRONG SQL
- SQL Self Join
- Toán tử UINON SQL