Thứ Ba, 25 tháng 7, 2023

Hàm CASE trong SQL Server

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ế.

Mục lục

  • 1. Mô tả
  • 2. Cú pháp
  • 3. Version
  • 4. Ví dụ

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à:

1
2
3
4
5
6
7
8
9
10
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

Bài viết này được đăng tại tranvanbinh.vn

1
2
3
4
5
6
7
8
9
10
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ệnh CASE 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ụ

1
2
3
4
5
6
7
SELECT
CASE
  WHEN diem < 7 THEN 'duoi kha'
  WHEN diem = 7 THEN 'kha'
  WHEN diem > 7 THEN 'tren kha'
END
FROM diem;
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master