SQL Server: LIKE và NOT LIKE


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

LIKE được dùng trong trường hợp bạn muốn tìm dữ liệu tương tự hay gần giống với yêu cầu đề ra. Chẳng hạn nếu bạn muốn tìm những Sinh viên có tên là 'Anh' thì bạn sẽ cần dùng đến LIKE.

SQL đưa ra một số ký tự dạng đặc biệt sau đây khi áp dụng LIKE:

% : tương đương với một chuỗi bất kỳ.

_ : (dấu gạch dưới) tương đương với một ký tự bất kỳ.

[] : tương đương với một ký tự bất kỳ nằm trong cặp []. Ví dụ, [abc] tương đương với a hoặc b hoặc c.

[^] : tương đương với một ký tự bất kỳ không nằm trong cặp []. Ví dụ, [^abc] tương đương với một ký tự bất kỳ mà không phải a hay b hay c.

Ví dụ dưới đây sẽ tìm những sinh viên có họ là 'Hoàng':

SELECT * FROM Student WHERE studentname LIKE N'Hoàng %';

Tìm những sinh viên có tên là 'Anh':

SELECT * FROM Student WHERE studentname LIKE N'% Anh';

Tìm những sinh viên có tên gồm 3 ký tự:

SELECT * FROM Student WHERE studentname LIKE N'% ___'; -- 3 dấu gạch dưới

Tìm những sinh viên có tên có ký tự cuối là 'A' hoặc 'C':

SELECT * FROM Student WHERE studentname LIKE N'%[AC]';

Tìm những sinh viên có tên có ký tự cuối không phải là 'A' hoặc 'C':

SELECT * FROM Student WHERE studentname LIKE N'%[^AC]';

NOT LIKE lại có tác dụng ngược với LIKE, tức là nó được dùng trong trường hợp bạn không muốn tìm dữ liệu tương tự hay gần giống với yêu cầu đề ra. Chẳng hạn nếu bạn không muốn tìm những Sinh viên có tên là 'Anh' thì bạn sẽ dùng NOT LIKE.

Tìm những Sinh viên có họ không phải là 'Hoàng':

SELECT * FROM Student WHERE studentname NOT LIKE N'Hoàng %';

Tìm những Sinh viên có tên không phải là 'Anh':

SELECT * FROM Student WHERE studentname NOT LIKE N'% Anh';
» Tiếp: EXISTS và NOT EXISTS
« Trước: BETWEEN và NOT BETWEEN
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!