06/04/2021, 14:50
Hàm CASE trong SQL Server - SQL Server Function
CASE expression WHEN value_1 THEN result_1 WHEN value_2 THEN result_2 ... WHEN value_n THEN result_n ELSE result END
Trong bài này mình sẽ hướng dẫn cách sử dụng câu lệnh CASE
trong SQL Server
thông qua cú pháp và ví dụ thực tế.
1. Mô tả
Câu lệnh CASE
có chức năng của câu lệnh IF-THEN-ELSE
.
2. Cú pháp
Cú pháp cho câu lệnh CASE
trong SQL Server
(Transact-SQL) là:
CASE expression WHEN value_1 THEN result_1 WHEN value_2 THEN result_2 ... WHEN value_n THEN result_n ELSE result END
Hoặc
CASE WHEN condition_1 THEN result_1 WHEN condition_2 THEN result_2 ... WHEN condition_n THEN result_n ELSE result END
Trong đó:
expression
: Biểu thức sẽ được so sánh với từng giá trị được cung cấp. (ví dụ: value_1, value_2, ... value_n).value_1, value_2, ... value_n
: Các giá trị sẽ được sử dụng trong đánh giá. Các giá trị được đánh giá theo thứ tự được liệt kê. Khi một giá trị khớp với biểu thức, câu lệnh CASE sẽ thực thi các câu lệnh tương ứng và không đánh giá thêm nữa.condition_1, condition_2, ... condition_n
: Các điều kiện sẽ được đánh giá. Các điều kiện được đánh giá theo thứ tự được liệt kê. Khi một điều kiện được xác định là đúng, câu lệnhCASE
sẽ trả về kết quả và không đánh giá các điều kiện nữa. Tất cả các điều kiện phải là cùng một kiểu dữ liệu.result_1, result_2, ... result_n
: Giá trị được trả về sau khi một điều kiện được tìm thấy là đúng. Tất cả các giá trị phải là cùng một kiểu dữ liệu.
Lưu ý:
- Nếu không tìm thấy giá trị / điều kiện nào là TRUE, thì câu lệnh
CASE
sẽ trả về giá trị trong mệnh đề ELSE. - Nếu mệnh đề ELSE bị bỏ qua và không có điều kiện nào được tìm thấy là đúng, thì câu lệnh
CASE
sẽ trả về NULL. - Điều kiện được đánh giá theo thứ tự được liệt kê. Khi một điều kiện được xác định là đúng, câu lệnh
CASE
sẽ trả về kết quả và không đánh giá các điều kiện nữa.
3. Version
Câu lệnh CASE
có thể được sử dụng trong các phiên bản sau của SQL Server
(Transact-SQL):
- SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005
4. Ví dụ
SELECT CASE WHEN diem < 7 THEN 'duoi kha' WHEN diem = 7 THEN 'kha' WHEN diem > 7 THEN 'tren kha' END FROM diem;
Nguồn: Zaidap.com.net