Điều Kiện LIKE Trong SQL Server - GreenSQL

Sử dụng LIKE trong SQL giúp bạn dùng các ký hiệu đại diện (wildcard) trong các mệnh đề WHERE ở các lệnh như INSERT, SELECT DELETE, UPDATE.

  • Tại sao sơn chống rỉ quan trọng trong lĩnh vực công nghệ điện tử?
  • Nên sử dụng sàn nhựa giả đá hay sàn cuộn vinyl?
  • Nên sử dụng sàn nhựa giả đá hay sàn cuộn vinyl?
  • Phone Repair Centre: Premier Technology Repair Services in Victoria
  • Thiết kế Website Nhà Máy Sản Xuất Thùng Carton

Mục lục

  • 1 1. Cú pháp lệnh LIKE trong SQL
  • 2 2. Tên biến, giá trị biến và toán tử
    • 2.1 Ví dụ – sử dụng ký hiệu đại diện %
    • 2.2 Ví dụ – sử dụng ký tự đại diện _
    • 2.3 Ví dụ – dùng ký tự đại diện []
    • 2.4 Ví dụ – dùng ký tự đại diện [^]
    • 2.5 Ví dụ – sử dụng toán tử NOT
    • 2.6 Ví dụ – dùng kí tự bỏ qua Escape Character
    • 2.7 Dùng ký tự Escape với toán tử Like SQL

1. Cú pháp lệnh LIKE trong SQL

Cú pháp cơ bản của lệnh LIKE như sau:

SELECT cot1, cot2,.... cotn FROM ten_bang WHERE ten_cot LIKE [mẫu so sánh];

Bạn có thể kết hợp bất kỳ số lượng điều kiện nào bằng cách sử dụng toán tử AND hoặc OR. Dưới đây là một số ví dụ về cách sử dụng toán tử LIKE với các ký tự đại diện ‘%’ và ‘_’:

Mẫu so sánh Mô tả
LIKE ‘abc%’ Tìm giá trị bắt đầu bằng “abc”
LIKE ‘%xyz’ Tìm giá trị kết thúc bằng “xyz”
LIKE ‘%def%’ Tìm giá trị chứa “def” ở bất kỳ vị trí nào
LIKE ‘_ghi%’ Tìm giá trị có “ghi” ở vị trí thứ hai
LIKE ‘j_%’ Tìm giá trị bắt đầu bằng “j” và có ít nhất 2 ký tự
LIKE ‘k__%’ Tìm giá trị bắt đầu bằng “k” và có độ dài ít nhất 3 ký tự
LIKE ‘m%m’ Tìm giá trị bắt đầu và kết thúc bằng “m”

Trong những ví dụ trên, bạn có thể thay thế “abc”, “xyz”, “def”, “ghi”, “j”, “k”, và “m” bằng bất kỳ ký tự nào mà bạn thấy phù hợp.

2. Tên biến, giá trị biến và toán tử

Bắt đầu bằng các biểu thức, biểu thức ký hiệu, mẫu, biểu thức kí tự đối chiếu mẫu. Các mẫu có thể chọn từ bảng dưới đây.

Kí hiệu đại diện Ý nghĩa
% tìm chuỗi ký tự với độ dài bất kỳ nào (gồm cả độ dài = 0)
_ tìm một ký tự
[^] tìm bất kỳ ký hiệu nào mà không chứa trong dấu [^] (ví dụ [^xyz] sẽ tìm bất kì kí tự nào không phải là x, y hoặc z)

Escape Character. Bạn có thể tùy chọn bỏ qua ký hiệu, cho phép kiểm tra xem các ký hiệu đại diện như % hay _ có thể dùng dưới dạng hằng số, chứ không được dùng như một kí tự đặc biệt.

Ví dụ – sử dụng ký hiệu đại diện %

SELECT * FROM hangtonkho WHERE ho LIKE ‘C%’; Hàm này sẽ tìm ra các hàng tồn kho có tên bắt đầu bằng chữ C SELECT * FROM hangtonkho WHERE ten LIKE ‘%0%’;

Dùng %O% để tìm ra hàng tồn kho có tên chứa chữ O trong bảng hangtonkho.

Ví dụ – sử dụng ký tự đại diện _

Ký tự _ chỉ tìm được 1 ký tự (độ dài bằng 1)

SELECT * FROM hangtonkho WHERE ten LIKE ‘K_o’;

Ví dụ hàm này sẽ trả về tất cả các kết quả hàng tồn kho có giá trị như: Kẹo, Kéo trong bảng hangtonkho.

Ví dụ – dùng ký tự đại diện []

Những gì được liệt kê trong [] là tất cả những ký hiệu có giá trị mà bạn muốn khớp

SELECT * FROM hangtonkho_id WHERE ma LIKE ‘AA[BC]22’;

Hàm này cho chúng ta kết quả trả về mã trong bảng hantonkho_id là AAB22 hoặc AAC22. Nghĩa là 2 ký hiệu trong [] sẽ hoặc là B hoặc là C.

Ví dụ – dùng ký tự đại diện [^]

SELECT * FROM hangtonkho_id WHERE ma LIKE ‘AA[^BC]22’;

Những gì được liệt kê trong [] sẽ không được chứa B hoặc C khi được dùng thêm ký hiệu ^. Kết quả trả về có giá trị là AAD22 hoặc AAE22.

Ví dụ – sử dụng toán tử NOT

SELECT * FROM nhanvien WHERE ten NOT LIKE ‘C%’;

Hàm này sử dụng thêm toán tử NOT nghĩa là trong bảng nhân viên hãy liệt kê ra tất cả nhân viên có giá trị không chứa những người bắt đầu bằng chữ C. Dạng toán tử này nhằm xây dựng các điều kiện giá trị của mệnh đề WHERE trong SQL

Ví dụ – dùng kí tự bỏ qua Escape Character

Sử dụng Escape Character để tránh hàm hiểu rằng chúng ta dùng ký hiệu đại diện mà đơn giản chỉ là như hằng số giá trị bình thường.

SELECT * FROM nhanvien WHERE secret_hint LIKE ‘222!%333’ ESCAPE ‘!’;

Lệnh này sẽ trả về tất cả các nhân viên có secret_hint giá trị là 222%333. Kí tự % không còn được dùng để chọn ký hiệu bắt đầu mà như một kí tự giá trị bình thường. Phức tạp hơn ta có:

SELECT * FROM nhanvien WHERE secret_hint LIKE ‘S%!%’ ESCAPE ‘!’;

Kết quả trả về của hàm là các nhân viên có secret_hint bắt đầu bằng “S” và kết thúc bằng “%”, ví dụ như “Send%”.

Dùng ký tự Escape với toán tử Like SQL

Ký tự escape trong SQL được sử dụng để loại bỏ các ký tự đại diện nhất định khỏi biểu thức của toán tử LIKE, cho phép bạn sử dụng những ký tự này như là ký tự bình thường.

Sử dụng ký tự escape cũng giúp bạn tránh việc sử dụng các ký tự đặc biệt trong cú pháp SQL, chẳng hạn như dấu nháy đơn “ ‘ ”, dấu phần trăm “%” và dấu gạch dưới “_”.

Ví dụ, nếu bạn cần tìm kiếm ký tự % như là một phần của chuỗi trong điều kiện LIKE, bạn sẽ cần sử dụng ký tự escape.

Lưu ý : Ký tự escape chỉ có thể là một ký tự đơn lẻ. Cú pháp :

Cú pháp sử dụng toán tử LIKE với ký tự escape như sau:

SELECT column1, column2, ... FROM table_name WHERE column1 LIKE 'pattern' ESCAPE escape_character;
    • pattern: Mẫu bạn muốn kết hợp.
    • ESCAPE: Từ khóa chỉ ký tự escape.
    • escape_character: Ký tự bạn muốn sử dụng làm ký tự escape.

Như vậy là tôi đã kết thúc giới thiệu cho bạn hiểu về điều kiện LIKE của SQL Server. Bài viết của tôi kết thúc tại đây, hy vọng rằng với những thông tin bổ ích và miễn phí trong bài viết nên trên có thể giúp các bạn cải thiện được nhiều khó khăn trong việc xử lý vấn đề về các biến cũng như lệnh LIKE trong hệ dữ liệu có cấu trúc SQL. Các bạn có thể đón chờ thêm các bài viết giá trị sau nhé.

Xem thêm:
  • Hàm LTRIM trong SQL Server
  • Nên sử dụng sàn nhựa giả đá hay sàn cuộn vinyl?
  • Hướng Dẫn Cách Xóa Database Trong SQL Nhanh, Đơn Giản
  • Hàm COALESCE trong SQL Server
  • Lệnh SELECT TOP trong SQL Server

Từ khóa » Câu Lệnh Select Like Trong Sql