SQL Server: LIKE và NOT LIKE

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

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
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!