Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Like SQL Server là gì? Cách dùng like trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
Lập trình là một trong số ngành nghề được săn đón nhất hiện nay bởi công nghệ ngày càng phát triển, thì càng cần những kỹ sư lập trình giỏi. Chính vì thế, bộ môn này hiện đã được đưa vào giáo dục ngay từ cấp bậc tiểu học.
Thực sự lập trình là một môn học khó, tuy nhiên, nếu bạn nghiêm túc theo đuổi ngành này thì có lẽ đó không phải vấn đề. Hiện bạn có rất nhiều cách để học lập trình, từ tham gia một khóa học trực tiếp tới online hoặc tự học tại nhà.
Lập trình hiện có nhiều ngôn ngữ và cách quản trị cơ sở dữ liệu khác nhau. Nếu học lập trình, nhất định bạn phải biết cách dùng SQL Server. Về cơ bản, nó cũng bao gồm các lệnh và điều kiện. Ở bài viết này, chúng ta sẽ cùng nhau tìm hiểu hàm LIKE trong SQL Server.
SQL Server “LIKE” là một toán tử logic xác định một chuỗi ký tự có khớp với mẫu được chỉ định hay không. Một mẫu có thể bao gồm các ký tự thông thường và ký tự đại diện. Toán tử LIKE được dùng trong mệnh đề WHERE của lệnh SELECT, UPDATE và DELETE để lọc các hàng dựa trên cách viết kết hợp mẫu.
Điều kiện LIKE trong SQL Server (Transact-SQL) cho phép dùng wildcard (các kí hiệu đại diện) trong mệnh đề WHERE ở các lệnh SELECT, INSERT, UPDATE và DELETE, dùng để đối sánh mẫu.
“biểu thức” LIKE “mẫu” [ ESCAPE ‘Escape_Character’ ]
biểu thức
Biểu thức kí tự như cột hoặc trường thông tin.
mẫu
BIểu thức kí tự có chứa đố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 | Giải thích |
| % | tìm chuỗi kí tự với bất kì độ dài nào (bao gồm cả độ dài 0) |
| _ | tìm một kí tự |
| [^] | tìm bất kì kí tự nào không chứa trong dấu [^] (ví dụ [^abc] sẽ tìm bất kì kí tự nào không phải là a, b hoặc c) |
Escape Character
Tùy chọn. Tạm dịch là kí tự bỏ qua, cho phép kiểm tra xem kí tự đại diện như % hay _ có được dùng theo đúng nghĩa đen (dưới dạng hằng số), chứ không được dùng như một kí tự đặc biệt.
Ví dụ - dùng kí tự đại diện %
Dùng kí tự đại diện % trong điều kiện LIKE của SQL Server bằng ví dụ tìm những nhân viên có họ bắt đầu bằng chữ cái “B”
SELECT * FROM nhanvien WHERE ho LIKE ‘B%’;
Có thể dùng nhiều lần kí tự % trong cùng 1 chuỗi như ví dụ dưới đây.
SELECT * FROM nhanvien WHER ho LIKE ‘%0%’;
Kết quả cho về các nhân viên mà trong họ có chứa chữ cái ‘o’.
Ví dụ - dùng kí tự đại diện _
Lưu ý là kí tự _ chỉ dùng để tìm kiếm 1 kí tự (độ dài bằng 1).
SELECT * FROM nhanvien WHERE ho LIKE ‘Ad_m’;
Trong ví dụ này, kết quả trả về là các nhân viên có tên gồm 4 chữ cái, trong đó 2 chữ cái đầu là “Ad” và chữ cái cuối là “m”. Ví dụ như Adam, Adem, Adim, Adom…
Đây là một ví dụ khác
SELECT * FROM nhanvien WHERE so_nhanvien LIKE ‘123_’;
Bạn đang tìm số nhân viên mà chỉ có 3 trong 4 chữ số. Ở ví dụ trên, kết quả trả về gồm 10 bản ghi, các giá trị thiếu nằm từ 0 tới 9: 1230, 1231, 1232…
Ví dụ - dùng kí tự đại diện []
Lưu ý là những gì nằm trong dấu ngoặc vuông là các kí tự mà bạn đang muốn và khớp với mẫu.
SELECT * FROM nhanvien WHERE ten LIKE ‘Sm[iy]th’;
Kết quả trả về trong ví dụ này là các nhân viên mà tên có 5 chữ cái, trong đó 2 chữ cái đầu là “Sm” và 2 chữ cái cuối là “th”, chữ cái ở giữa có thể là “i” hoặc “y”. Vậy kết quả có thể là Smith hoặc Smyth.
Ví dụ - dùng kí tự đại diện [^]
Những gì nằm trong dấu ngoặc vuông là những kí tự bạn không muốn khớp với mẫu.
SELECT * FROM nhanvien WHERE ten LIKE ‘Smy[^iy]th’;
Kết quả là tên nhân viên có 5 chữ cái, trong đó 2 chữ đầu là “Sm”, 2 chữ cuối là “th” và chữ ở giữa không phải “i” cũng không phải “y”. Kết quả có thể là Smath, Smeth…
Ví dụ - dùng toán tử NOT
Đây là cách dùng toán tử NOT trong SQL Server với các kí tự đại diện. Bạn có thể tìm họ nhân viên không bắt đầu bằng chữ cái “B” bằng điều kiện LIKE.
SELECT * FROM nhanvien WHERE ho NOT LIKE ‘B%’;
Bằng cách đặt toán tử NOT trước điều kiện LIKE, bạn tìm được họ nhân viên không bắt đầu bằng “B”.
Ví dụ - dùng kí tự bỏ qua Escape Character
Việc dùng kí tự bỏ qua rất quan trọng khi đối chiếu mẫu, để tránh việc hiểu nhầm các kí tự đặc biệt khi ta muốn dùng nó như một giá trị hằng.
Ví dụ như bạn muốn tìm các kí tự a% hay a_ chẳng hạn.
Lưu ý là chỉ có thể định nghĩa kí tự bỏ qua bằng 1 kí tự (độ dài bằng 1).
SELECT * FROM nhanvien WHERE secret_hint LIKE ‘123!%455’ ESCAPE ‘!’;
Lệnh này sẽ trả về các nhân viên có secret_hint là 123%455. Kí tự % không còn được dùng với ý nghĩa trước đó mà như một kí tự bình thường.
Đây là 1 ví dụ phức tạp hơn.
SELECT * FROM nhanvien WHERE secret_hint LIKE ‘H%!%’ ESCAPE ‘!’;
Kết quả trả về của điều kiện LIKE là các nhân viên có secret_hint bắt đầu bằng “H” và kết thúc bằng “%”, ví dụ như “Help%”.
Có thể dùng kí tự bỏ qua với cả kí tự _ trong điều kiện LIKE.
SELECT * FROM nhanvien WHERE secret_hint LIKE ‘H%!_’ ESCAPE ‘!’;
Ví dụ này trả về các nhân viên có secret_hint bắt đầu bằng “H” và kết thúc bằng “_”, ví dụ như “Help_”.
Ví dụ về toán tử NOT LIKE trong SQL Server
Ví dụ sau sử dụng toán tử NOT LIKE để tìm khách hàng tại nơi ký tự đầu tiên trong tên gọi không phải chữ cái A:
SELECT
customer_id,
first_name,
last_name
FROM
sales.customers
WHERE
first_name NOT LIKE 'A%'
ORDER BY
first_name;
Điểu cần ghi nhớ khi dùng LIKE trong SQL Server
Khi bạn thực hiện so sánh chuỗi bằng cách sử dụng LIKE, tất cả các ký tự trong chuỗi mẫu đều có ý nghĩa. Những ký tự quan trọng bao gồm mọi khoảng trắng ở đầu hoặc ở cuối. Nếu phép so sánh trong truy vấn trả về tất cả các hàng có chuỗi LIKE 'abc ' (abc theo sau là một khoảng trắng), thì một hàng trong đó với giá trị cột là abc (abc không có khoảng trắng) sẽ không được trả về. Tuy nhiên, các khoảng trống ở cuối, trong biểu thức phù hợp với mẫu, sẽ bị bỏ qua. Nếu phép so sánh trong truy vấn trả về tất cả các hàng có chuỗi LIKE 'abc' (abc không có khoảng trắng), thì tất cả các hàng bắt đầu bằng abc và không có hoặc nhiều khoảng trống ở cuối sẽ được trả về.
Một so sánh chuỗi sử dụng mẫu chứa dữ liệu char và varchar có thể không vượt qua so sánh LIKE do cách lưu trữ dữ liệu cho từng loại dữ liệu. Ví dụ khi chuyển một biến char cục bộ sang một thủ tục được lưu trữ, sau đó sử dụng khớp mẫu để tìm tất cả nhân viên có tên họ bắt đầu bằng bộ ký tự đã chỉ định.
Code ví dụ:
-- Uses AdventureWorks
CREATE PROCEDURE FindEmployee @EmpLName CHAR(20)
AS
SELECT @EmpLName = RTRIM(@EmpLName) + '%';
SELECT p.FirstName,
p.LastName,
a.City
FROM Person.Person p
INNER JOIN Person.Address a
ON p.BusinessEntityID = a.AddressID
WHERE p.LastName LIKE @EmpLName;
GO
EXEC FindEmployee @EmpLName = 'Barb';
GO
Trong thủ tục FindEmployee, không có hàng nào được trả về vì biến char (@EmpLName) chứa khoảng trống ở cuối mỗi khi tên chứa ít hơn 20 ký tự. Vì cột Lastname là varchar nên không có khoảng trống ở cuối. Quy trình này không thành công do khoảng trống ở cuối quan trọng.
Tuy nhiên, ví dụ sau thành công vì khoảng trống ở dưới không được thêm vào biến varchar:
-- Uses AdventureWorks
CREATE PROCEDURE FindEmployee @EmpLName VARCHAR(20)
AS
SELECT @EmpLName = RTRIM(@EmpLName) + '%';
SELECT p.FirstName,
p.LastName,
a.City
FROM Person.Person p
INNER JOIN Person.Address a
ON p.BusinessEntityID = a.AddressID
WHERE p.LastName LIKE @EmpLName;
GO
EXEC FindEmployee @EmpLName = 'Barb';
GO
Kết quả:

Nguồn tin: Quantrimang.com:
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Cách tạo hình ảnh AI bằng Google Vids
AI Agent vs Chatbot SaaS: Khác nhau ở đâu?
Tìm hiểu về SUB/WAVE: Giải pháp tạo AI radio station tự host chạy trên phần cứng của riêng bạn
Lợi ích khi để Gemini quản lý các ứng dụng Samsung yêu thích của bạn
TOP lựa chọn thay thế ChatGPT Outlook Plugin tốt nhất
Cách nhập Google Slides vào Google Vids tạo video
Sau khi dạy ChatGPT, Claude và Gemini một điều sai sự thật, bạn có thể xóa bỏ không?
Gemini trong Gmail làm được gì? 4 tính năng Gmail AI hữu ích bạn nên biết
TOP công cụ AI tạo báo cáo tốt nhất
Top công cụ AI tạo ảnh miễn phí 2026: Giải pháp đồ họa đỉnh cao không tốn phí
Cách kết nối YouTube API với n8n: Hướng dẫn chi tiết từng bước
Cách chuyển slide thành video Google Vids sẵn kịch bản, lồng tiếng
8 trường hợp sử dụng Claude Fable 5 xứng đáng với chi phí bỏ ra
Cách chọn mô hình Claude phù hợp cho mọi công việc
TOP công cụ AI tạo biểu đồ tốt nhất
Hướng dẫn xây dựng storyboard tạo video AI Google Vids
Hướng dẫn phân tích video Google Drive bằng Gemini
Bí ý tưởng viết status? Tool này sẽ tạo status cực hay chỉ vài giây
Cách dùng Trợ lý email viết email phản hồi chuyên nghiệp
Trợ lý Excel & Sheets AI: Tạo công thức, hàm và sửa lỗi nhanh