Điều kiện LIKE trong SQL: Toàn tập về chức năng, cú pháp và ví dụ cụ thể

LIKE trong SQL là điều kiện có chức năng đối sánh một giá trị với những giá trị tương đương thông qua các ký hiệu đại diện (wildcard). Điều kiện LIKE thường được sử dụng trong mệnh đề WHERE kết hợp với các lệnh khác như DELETE, UPDATE, INSERT hay SELECT.

Cú pháp cơ bản của điều kiện LIKE trong SQL

“biểu thức” LIKE “mẫu” [ ESCAPE ‘Escape_Character’ ]

Trong cú pháp trên, bạn cần lưu ý các thành phần sau đây:

– Biểu thức: Là biểu thức ký tự có dạng trường thông tin hoặc cột.

– Mẫu: Là biểu thức ký tự chứa đối chiếu mẫu. Sau đây là một số mẫu mà bạn có thể lựa chọn:

Kí hiệu đại diện Giải thích
% Tìm chuỗi ký tự với độ dài bất ký (bao gồm cả độ dài 0)
_ Tìm kiếm một kí tự
[^] Tìm kiếm bất cứ ký tự nào không chứa trong dấu [^]. Ví dụ [^abc] sẽ tìm bất cứ ký tự nào không phải là a, b hoặc c)

– Escape Character: Được hiểu đơn giản là “ký tự bỏ qua”. Nó giúp bạn check xem các ký tự đại diện như _ hay % có được sử dụng đúng theo nghĩa đen (dưới dạng hằng số) hay không. Thay vì được sử dụng như một ký tự đặc biệt.

LIKE trong SQL là điều kiện có chức năng đối sánh một giá trị với những giá trị tương đương thông qua các ký hiệu đại diện (wildcard)

Cách dùng điều kiện LIKE trong SQL với từng loại ký hiệu đại diện

Với ký tự đại diện %

Ví dụ nếu muốn tìm kiếm các nhân viên có họ bắt đầu bằng ký tự “B”. Bạn cần sử dụng điều kiện LIKE kết hợp với ký tự đại diện %. Cụ thể như sau:

SELECT *FROM nhanvienWHERE ho LIKE ‘B%’;

Bạn cũng có thể lặp lại ký tự % nhiều lần trong cùng một câu lệnh như sau:

SELECT * FROM nhanvienWHERE ho LIKE ‘%0%’;

Với ký tự đại diện _

Ký tự đại diện _ chỉ cho phép bạn tìm kiếm 1 ký tự duy nhất (tức là độ dài bằng 1).

Ví dụ 1: Giả sử nếu muốn tìm kiếm các nhân viên mà tên của họ có độ dài 4 chữ cái. Trong đó 2 chữ cái đầu tương ứng là “Ad”, còn chữ cái cuối cùng là “m”. Cú pháp cần nhập như sau:

SELECT * FROM nhanvienWHERE ho LIKE ‘Ad_m’;

Ví dụ 2: Bạn đang cần tìm số nhân viên chỉ có 3/4 chữ số. Với trường hợp này, bạn có thể nhập cú pháp như sau:

SELECT * FROM nhanvienWHERE so_nhanvien LIKE ‘123_’;

Với ký tự đại diện []

Ký tự đại diện [] cho phép bạn tìm kiếm các ký tự cần khớp với mẫu (nằm giữa hai dấu ngoặc vuông).

Ví dụ: Tìm kiếm các nhân viên có tên gồm 5 chữ cái. Trong đó 2 chữ cái đầu tương ứng là “Sm” và 2 chữ cái cuối ứng với “th”. Chữ cái ở giữa do bạn tùy ý lựa chọn, ở đây là “i” hoặc “y”.

SELECT * FROM nhanvienWHERE ten LIKE ‘Sm[iy]th’;

Với ký tự đại diện [^]

Khi sử dụng ký tự đại diện [^], bạn có thể điền vào giữa hai dấu ngoặc vuông các ký tự mà bạn không muốn khớp với mẫu.

Ví dụ: Bạn đang muốn tìm kiếm tên các nhân viên bao gồm 5 chữ cái. Trong đó có 2 chữ cái đầu tương ứng là “Sm”, còn lại 2 chữ cái cuối cùng là “th”. Các chữ cái ở giữa không rơi vào trường hợp chữ “i” hoặc “y”.

SELECT * FROM nhanvienWHERE ten LIKE ‘Smy[^iy]th’;

Cách dùng điều kiện LIKE với toán tử NOT và ký tự bỏ qua

Với toán tử NOT

Bạn có thể kết hợp toán tử NOT với các ký tự đại diện khi sử dụng điều kiện LIKE để loại trừ các trường hợp không mong muốn.

Ví dụ: Bạn đang cần tìm kiếm các nhân viên có họ không bắt đầu bằng chữ cái “A”. Sau đây là cú pháp:

SELECT *FROM nhanvienWHERE ho NOT LIKE ‘A%’;

Với ký tự bỏ qua Escape Character

Trong quá trình đối sánh mẫu, việc sử dụng ký tự bỏ qua là vô cùng thiết yếu. Điều này nhằm giúp cho các ký tự mà chúng ta sử dụng tránh bị hiểu nhầm là ký tự đặc biệt khi cần dùng chúng như các giá trị hằng.

Ví dụ 1: Để tìm kiếm các nhân viên sở hữu secret_hint tương ứng là 123%455. Bạn nhập cú pháp sau đây:

SELECT *FROM nhanvienWHERE secret_hint LIKE ‘123!%455’ ESCAPE ‘!’;

Trong trường hợp này, ký tự % được hiểu như một ký tự bình thường chứ không được sử dụng với hàm nghĩa trước đó nữa.

Ví dụ 2: Nếu đang cần tìm kiếm các nhân viên sở hữu secret_hint bằng đầu bằng chữ cái “B” và kết thúc với ký tự “%”, bạn sử dụng cú pháp sau:

SELECT * FROM nhanvienWHERE secret_hint LIKE ‘H%!_’ ESCAPE ‘!’;

Như vậy trong ví dụ trên, bạn có thể kết hợp với ký tự _ khi sử dụng điều kiện LIKE.

Trên đây là một số cú pháp và ví dụ điều kiện LIKE trong SQL. Điều kiện này cho phép bạn tạo biểu thức tìm kiếm theo một mẫu nhất định của mệnh đề WHERE. Mong rằng bài viết này sẽ giúp bạn sử dụng điều kiện LIKE trong SQL một cách hiệu quả.

Ban biên tập: Kiến Thức Phần Mềm

Leave a Reply

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