Tin tức

Kiến thức SQL: Ký tự đại diện trong tìm kiếm LIKE (Wildcards)

28/06/2013

Một mẫu ký tự đại diện có thể được sử dụng để thay thế cho bất kỳ ký tự khác (s) trong một chuỗi. Trong SQL ký tự Wildcard được sử dụng trong toán tử LIKE dùng để tìm kiếm dữ liệu trong bảng.

Dưới đây là bảng các ký hiệu:

Wildcard

Description

%

Thay thế cho không hoặc nhiều ký tự

_

Thay thế cho 1 ký tự đơn

[charlist]

1 Tập các ký tự cần so sánh

[^charlist]
or
[!charlist]

Chỉ đúng khi các ký tự không nằm trong mẫu được chỉ ra

 

Chúng ta có bảng “Customers” dưới đây:

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

1

Alfreds Futterkiste

Maria Anders

Obere Str. 57

Berlin

12209

Germany

2

Ana Trujillo Emparedados y helados

Ana Trujillo

Avda. de la Constitución 2222

México D.F.

05021

Mexico

3

Antonio Moreno Taquería

Antonio Moreno

Mataderos 2312

México D.F.

05023

Mexico

4

Around the Horn

Thomas Hardy

120 Hanover Sq.

London

WA1 1DP

UK

5

Berglunds snabbköp

Christina Berglund

Berguvsvägen 8

Luleå

S-958 22

Sweden

 

Sử dụng ký tự %

Lấy tất cả các khách hàng có City bắt đầu bằng “ber”:

SELECT * FROM Customers
WHERE City LIKE 'ber%';

Lấy tất cả khách hàng có City chứa chuỗi “es”:

SELECT * FROM Customers
WHERE City LIKE '%es%';

Sử dụng dấu _

Lấy ra tất cả các khách hàng có City bắt đầu bằng 1 ký tự bất kỳ và theo sau là “erlin”:

SELECT * FROM Customers
WHERE City LIKE '_erlin';

Lấy tất cả các khách hàng mà có City bắt đầu bằng chữ L, tiếp theo là bất kỳ ký tự nào, sau đó là chữ “n” tiếp theo là bất kỳ ký tự nào và cuối cùng là chuỗi “on”:

SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

Sử dụng ký hiệu [charlist]

Lấy ra tất cả các khách hàng có City bắt đầu bằng 1 trong các ký tự “b”, “s”, hoặc “p”:

SELECT * FROM Customers
WHERE City LIKE '[bsp]%';

Lấy ra tất cả các khách hàng có City bắt đầu là “a”, “b” hoặc “c”:

SELECT * FROM Customers
WHERE City LIKE '[a-c]%';

Lấy ra tất cả các khách hàng có City không bắt đầu bằng 1 trong các ký tự “b”, “s”, hoặc “p”:

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';

Để tham dự các khóa học SQL Server của ESVN theo giáo trình chuẩn của Microsoft mời bạn click vào đây: Đào tạo SQL