Hướng dẫn when then condition in mysql? - khi đó điều kiện trong mysql?

Thí dụ

Trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng:

Chọn orderID, số lượng, trường hợp & nbsp; & nbsp; & nbsp; Khi số lượng> 30 thì "Số lượng lớn hơn 30" & nbsp; & nbsp; & nbsp; Khi số lượng = 30 thì "Số lượng là 30" & nbsp; & nbsp; & nbsp; Khác "Số lượng dưới 30" endFrom orderDetails;
CASE
    WHEN Quantity > 30 THEN "The quantity is greater than 30"
    WHEN Quantity = 30 THEN "The quantity is 30"
    ELSE "The quantity is under 30"
END
FROM OrderDetails;

Hãy tự mình thử »

Định nghĩa và cách sử dụng

Tuyên bố trường hợp trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng [như một câu lệnh if-then-else]. Vì vậy, một 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 là đúng, nó sẽ trả về giá trị trong mệnh đề khác.

Nếu không có phần khác và không có điều kiện nào là đúng, nó sẽ trả lại null.

Cú pháp

Trường hợp & nbsp; & nbsp; & nbsp; Khi điều kiện1 thì kết quả1 & nbsp; & nbsp; & nbsp; Khi điều kiện2 thì result2 & nbsp; & nbsp; & nbsp; Khi điều kiện sau đó kết quả & nbsp; & nbsp; & nbsp; Kết quả khác;
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Giá trị tham số

Tham sốSự mô tả
điều kiện1, điều kiện2, ... điều kiệnYêu cầu. Điều kiện. Chúng được đánh giá theo thứ tự giống như chúng được liệt kê
Kết quả1, kết quả2, ... kết quảYêu cầu. Giá trị để trả lại sau khi một điều kiện là đúng

Chi tiết kỹ thuật

Hoạt động trong:
Từ MySQL 4.0

Nhiều ví dụ hơn

SQL sau đây sẽ đặt hàng khách hàng theo thành phố. Tuy nhiên, nếu City là NULL, thì hãy đặt hàng theo quốc gia:

Thí dụ

Chọn Tên tùy chỉnh, Thành phố, CountryFrom Khách hàng theo [Case & NBSP; & NBSP; & NBSP; Khi Thành phố là NULL sau đó là Quốc gia & NBSP; & NBSP; & NBSP; khác CityEnd];
FROM Customers
ORDER BY
[CASE
    WHEN City IS NULL THEN Country
    ELSE City
END];

Hãy tự mình thử »



Tuyên bố trường hợp MySQL

Câu lệnh CASE trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được đáp ứng [giống như một câu lệnh if-then-else]. Vì vậy, một 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 là đúng, nó sẽ trả về giá trị trong mệnh đề ELSE.

Nếu không có phần ELSE và không có điều kiện nào là đúng, nó sẽ trả về null.

COLTAX TRƯỜNG HỢP

Trường hợp & nbsp; & nbsp; & nbsp; Khi điều kiện1 thì kết quả1 & nbsp; & nbsp; & nbsp; Khi điều kiện2 thì result2 & nbsp; & nbsp; & nbsp; Khi điều kiện sau đó kết quả & nbsp; & nbsp; & nbsp; Kết quả khác;
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Cơ sở dữ liệu demo

Dưới đây là một lựa chọn từ bảng "OrderDetails" trong cơ sở dữ liệu mẫu Northwind:

OrderDetailidOrderIDID sản phẩmSố lượng
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40

Ví dụ trường hợp MySQL

SQL sau đây trải qua các điều kiện và trả về giá trị khi đáp ứng điều kiện đầu tiên:

Thí dụ

Chọn orderID, số lượng, trường hợp & nbsp; & nbsp; & nbsp; Khi số lượng> 30 thì 'số lượng lớn hơn 30' & nbsp; & nbsp; & nbsp; Khi số lượng = 30 thì 'Số lượng là 30' & nbsp; & nbsp; & nbsp; Khác 'số lượng dưới 30'end dưới dạng số lượng orderdetails;
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

Hãy tự mình thử »

SQL sau đây sẽ đặt hàng khách hàng theo thành phố. Tuy nhiên, nếu City là NULL, thì hãy đặt hàng theo quốc gia:

Thí dụ

Chọn orderID, số lượng, trường hợp & nbsp; & nbsp; & nbsp; Khi số lượng> 30 thì 'số lượng lớn hơn 30' & nbsp; & nbsp; & nbsp; Khi số lượng = 30 thì 'Số lượng là 30' & nbsp; & nbsp; & nbsp; Khác 'số lượng dưới 30'end dưới dạng số lượng orderdetails;
FROM Customers
ORDER BY
[CASE
    WHEN City IS NULL THEN Country
    ELSE City
END];

Hãy tự mình thử »



Hướng dẫn MySQL này giải thích cách sử dụng câu lệnh if-then-else trong MySQL với cú pháp và ví dụ.IF-THEN-ELSE statement in MySQL with syntax and examples.

Sự mô tả

Trong MySQL, câu lệnh if-then-else được sử dụng để thực thi mã khi một điều kiện là đúng hoặc thực thi mã khác nhau nếu điều kiện đánh giá là sai.

Cú pháp

Cú pháp cho câu lệnh if-then-else trong MySQL là:

IF condition1 THEN
   {...statements to execute when condition1 is TRUE...}

[ ELSEIF condition2 THEN
   {...statements to execute when condition1 is FALSE and condition2 is TRUE...} ]

[ ELSE
   {...statements to execute when both condition1 and condition2 are FALSE...} ]

END IF;
Elseifoptional. Bạn sẽ sử dụng điều kiện khác khi bạn muốn thực thi một tập hợp các câu lệnh khi điều kiện thứ hai [IE: điều kiện2] là đúng.elSeoptional. Bạn sẽ sử dụng điều kiện khác khi bạn muốn thực thi một tập hợp các câu lệnh khi không có điều kiện nào khác được đánh giá là đúng.

Ghi chú

  • Khi một điều kiện được tìm thấy là đúng, câu lệnh if-then-else sẽ thực thi mã tương ứng và không đánh giá các điều kiện nữa.
  • Nếu không có điều kiện nào được đáp ứng, phần khác của câu lệnh if-then-else sẽ được thực thi.
  • Điều quan trọng cần lưu ý là phần khác và các phần khác là tùy chọn.

Thí dụ

Sau đây là ví dụ sử dụng câu lệnh if-then-else trong hàm MySQL:

DELIMITER //

CREATE FUNCTION IncomeLevel [ monthly_value INT ]
RETURNS varchar[20]

BEGIN

   DECLARE income_level varchar[20];

   IF monthly_value  4000 AND monthly_value 

Bài Viết Liên Quan

Chủ Đề