TRƯỜNG HỢP MySQL KẾT THÚC NHƯ
Biểu thức CASE của MySQL là một phần của hàm luồng điều khiển cung cấp cho chúng ta viết logic if-else hoặc if-then-else cho một truy vấn. Biểu thức này có thể được sử dụng ở bất kỳ nơi nào sử dụng chương trình hoặc truy vấn hợp lệ, chẳng hạn như mệnh đề SELECT, WHERE, ORDER BY, v.v. Show Biểu thức CASE xác thực các điều kiện khác nhau và trả về kết quả khi điều kiện đầu tiên là đúng. Khi điều kiện được đáp ứng, nó dừng duyệt và đưa ra kết quả. Nếu nó không tìm thấy bất kỳ điều kiện nào đúng, nó sẽ thực hiện khối khác. Khi không tìm thấy khối khác, nó sẽ trả về giá trị NULL. Mục tiêu chính của câu lệnh CASE của MySQL là xử lý nhiều câu lệnh IF trong mệnh đề SELECT Chúng ta có thể sử dụng câu lệnh CASE theo hai cách như sau 1. Câu lệnh CASE đơn giảnPhương pháp đầu tiên là lấy một giá trị và khớp nó với câu lệnh đã cho, như hình bên dưới cú phápNó trả về kết quả khi phép so sánh giá_trị đầu tiên trở thành đúng. Nếu không, nó sẽ trả về mệnh đề khác Ví dụđầu ra Sau khi thực hiện thành công truy vấn trên, chúng ta sẽ nhận được đầu ra sau. Ở đây, chúng ta có thể thấy rằng cột bộ phận chứa dạng đầy đủ thay vì dạng rút gọn Hàm CASE() trong MySQL được sử dụng để tìm một giá trị bằng cách chuyển qua các điều kiện bất cứ khi nào bất kỳ điều kiện nào thỏa mãn câu lệnh đã cho, nếu không, nó sẽ trả về câu lệnh trong phần khác. Tuy nhiên, khi một điều kiện được thỏa mãn, nó sẽ ngừng đọc thêm và trả về đầu ra Đặc trưng
cú pháp CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionN THEN resultN ELSE result END; Tham số Phương pháp này chấp nhận hai tham số như được đưa ra dưới đây
trả lại. Nó trả về một giá trị bằng cách chuyển qua các điều kiện bất cứ khi nào bất kỳ điều kiện nào thỏa mãn câu lệnh đã cho, nếu không, nó trả về câu lệnh trong phần khác. Và nếu không có điều kiện nào được thỏa mãn cũng như không có phần nào khác thì nó trả về NULL ví dụ 1. Sử dụng hàm CASE() và nhận đầu ra CREATE TABLE float01001 ( user_id int NOT NULL AUTO_INCREMENT, float_val float, PRIMARY KEY(user_id) ); INSERT float01001(float_val) VALUES (1.9); INSERT float01001(float_val) VALUES (1.1); INSERT float01001(float_val) VALUES (3.9); INSERT float01001(float_val) VALUES (5.0); INSERT float01001(float_val) VALUES (10.9); SELECT float_val, CASE WHEN float_val > 5 THEN "The value is greater than 5" WHEN float_val = 5 THEN "The value is 5" ELSE "The value is under 5" END as float_txt FROM float01001; đầu ra float_val | float_txt ------------------------------------------- 1.9 | The value is under 5 ------------------------------------------- 1.1 | The value is under 5 ------------------------------------------- 3.9 | The value is under 5 ------------------------------------------- 5 | The value is 5 ------------------------------------------- 10.9 | The value is greater than 5 ví dụ 2 Sử dụng hàm CASE() và kiểm tra xem độ dài của giá trị float đã nêu có lớn hơn, nhỏ hơn hoặc bằng 4 không CREATE TABLE float01001 ( user_id int NOT NULL AUTO_INCREMENT, float_val float, PRIMARY KEY(user_id) ); INSERT float01001(float_val) VALUES (9.0); INSERT float01001(float_val) VALUES (7.7); INSERT float01001(float_val) VALUES (30.91); INSERT float01001(float_val) VALUES (8.0); INSERT float01001(float_val) VALUES (10.9); SELECT float_val, CASE WHEN LENGTH(float_val) > 4 THEN "The length is greater than 4" WHEN LENGTH(float_val) = 4 THEN "The length is 4" ELSE "The length is less than 4" END as float_txt FROM float01001; đầu ra float_val | float_txt ------------------------------------------- 9 | The length is less than 4 ------------------------------------------- 7.7 | The length is less than 4 ------------------------------------------- 30.91 | The length is greater than 4 ------------------------------------------- 8.0 | The length is less than 4 ------------------------------------------- 10.9 | The length is 4 ví dụ 3 Sử dụng hàm CASE() và kiểm tra xem MRP của mục đã nêu có lớn hơn 400 hay không CREATE TABLE package099 ( user_id int NOT NULL AUTO_INCREMENT, item VARCHAR(10), mrp int, PRIMARY KEY(user_id) ); INSERT package099(item, mrp) VALUES ('book1', 350); INSERT package099(item, mrp) VALUES ('book2', 500); SELECT mrp, CASE WHEN mrp > 400 THEN "Buy this item" ELSE "Don't buy this item" END as txt FROM package099; đầu ra mrp | txt ------------------------------ 350 | Don't buy this item ------------------------------ 500 | Buy this item Ví dụ 4 Sử dụng hàm CASE() và kiểm tra lãi lỗ CREATE TABLE package72 ( user_id int NOT NULL AUTO_INCREMENT, item VARCHAR(10), mrp int, sp int, PRIMARY KEY(user_id) ); INSERT package72(item, mrp, sp) VALUES ('book1', 250, 255); INSERT package72(item, mrp, sp) VALUES ('book2', 350, 370); INSERT package72(item, mrp, sp) VALUES ('book3', 400, 350); SELECT mrp,sp, CASE WHEN sp > mrp THEN "Profit" ELSE "Loss" END as PL FROM package72; đầu ra ________số 8Đăng kí. Hàm này được sử dụng để tìm một giá trị bằng cách chuyển qua các điều kiện bất cứ khi nào bất kỳ điều kiện nào thỏa mãn câu lệnh đã cho, nếu không, nó sẽ trả về câu lệnh trong phần khác end as trong SQL là gì?END là điểm đánh dấu đóng biểu thức CASE . Bạn phải có chính xác một câu lệnh END cho mọi câu lệnh CASE. Dấu AS được sử dụng để giới thiệu bí danh.
Làm cách nào để sử dụng điều kiện trường hợp trong MySQL?Câu lệnh CASE duyệt qua các điều kiện và trả về giá trị khi đáp ứng điều kiện đầu tiên (giống như câu lệnh IF-THEN-ELSE). Vì vậy, khi một điều kiện là đúng, nó sẽ ngừng đọc và trả về kết quả. Nếu không có điều kiện nào đúng, nó sẽ trả về giá trị trong mệnh đề ELSE.
Ký tự nào được sử dụng để chỉ sự kết thúc của MySQL?mysql xác định vị trí câu lệnh của bạn kết thúc bằng cách tìm kiếm dấu chấm phẩy kết thúc , chứ không phải bằng cách tìm kiếm phần cuối của dòng nhập. (Nói cách khác, mysql chấp nhận đầu vào định dạng tự do. nó thu thập các dòng đầu vào nhưng không thực thi chúng cho đến khi nó nhìn thấy dấu chấm phẩy. )
Làm cách nào để sử dụng câu lệnh nhiều trường hợp trong MySQL?Đây là 3 cách khác nhau để áp dụng câu lệnh tình huống bằng SQL. . (1) Đối với một điều kiện duy nhất. TRƯỜNG HỢP KHI điều kiện_1 SAU ĐÓ kết quả_1 ELSE kết quả_2 KẾT THÚC NHƯ new_field_name (2) Đối với nhiều điều kiện sử dụng AND. TRƯỜNG HỢP KHI điều kiện_1 VÀ điều kiện_2 SAU ĐÓ kết quả_1 KHÁC kết quả_2 KẾT THÚC NHƯ new_field_name |