ELSE IF thủ tục MySQL

Cơ sở dữ liệu MySQL cung cấp cho bạn một câu lệnh IF mà bạn có thể sử dụng trong các hàm và thủ tục được lưu trữ

Câu lệnh IF cho phép bạn tạo các truy vấn có điều kiện sẽ chỉ được thực hiện khi đáp ứng một điều kiện cụ thể

Ví dụ: giả sử bạn muốn kiểm tra xem độ dài giá trị TEXT có lớn hơn 5 hay không

Bạn có thể tạo một hàm

SELECT charLength("Hello"),
  charLength("Morning");
0 với câu lệnh IF như hình bên dưới

DELIMITER //

CREATE FUNCTION charLength(str TEXT)
  RETURNS TEXT DETERMINISTIC
  BEGIN
    DECLARE result TEXT DEFAULT CONCAT(str, " length is 5 or less");
    IF CHAR_LENGTH(str)> 5 THEN
      SET result = CONCAT(str, " length is greater than 5 ");
    END IF;
    RETURN result;
  END //
  
DELIMITER ;

Sau đó, bạn có thể sử dụng câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
2 để gọi hàm như sau

SELECT charLength("Hello"),
  charLength("Morning");

Đầu ra trả về sẽ như hình dưới đây

+---------------------------+-----------------------------------+
| charLength("Hello")       | charLength("Morning")             |
+---------------------------+-----------------------------------+
| Hello length is 5 or less | Morning length is greater than 5  |
+---------------------------+-----------------------------------+
1 row in set (0.00 sec)

Câu lệnh IF có thể được kết hợp với câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
4 để cung cấp một truy vấn thay thế để thực thi khi điều kiện của câu lệnh IF không được đáp ứng

Ví dụ: giả sử bạn muốn so sánh hai giá trị

SELECT charLength("Hello"),
  charLength("Morning");
6 và in một văn bản có nội dung
SELECT charLength("Hello"),
  charLength("Morning");
7 hoặc
SELECT charLength("Hello"),
  charLength("Morning");
8

Bạn có thể tạo một hàm trong MySQL và tạo câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
9 có điều kiện như sau

DELIMITER //

CREATE FUNCTION compare(x INT, y INT)
  RETURNS TEXT DETERMINISTIC
  BEGIN
    DECLARE result TEXT;
    IF x > y THEN
      SET result = CONCAT(x, " is larger than ", y);
    ELSE
      SET result = CONCAT(x, " is smaller than ", y);
    END IF;
    RETURN result;
  END //
  
DELIMITER ;

Bây giờ bạn có thể gọi hàm bằng câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
2 như sau

SELECT compare(1, 2), compare(10, 5);

Tập kết quả sẽ như hình bên dưới

+---------------------+---------------------+
| compare(1, 2)       | compare(10, 5)      |
+---------------------+---------------------+
| 1 is smaller than 2 | 10 is larger than 5 |
+---------------------+---------------------+
1 row in set (0.00 sec)

Và đó là cách bạn tạo một câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
9 trong các hàm của MySQL

Khi bạn có nhiều hơn hai điều kiện, bạn cũng có thể sử dụng nhiều câu lệnh

+---------------------------+-----------------------------------+
| charLength("Hello")       | charLength("Morning")             |
+---------------------------+-----------------------------------+
| Hello length is 5 or less | Morning length is greater than 5  |
+---------------------------+-----------------------------------+
1 row in set (0.00 sec)
2 trong đó bạn xác định từng điều kiện mà bạn muốn kiểm tra theo trình tự

Đây là một hàm ví dụ khác mà bạn cũng cần kiểm tra xem hai giá trị

SELECT charLength("Hello"),
  charLength("Morning");
6 có bằng nhau không

DELIMITER //

CREATE FUNCTION compare(x INT, y INT)
  RETURNS TEXT DETERMINISTIC
  BEGIN
    DECLARE result TEXT;
    IF x > y THEN
      SET result = CONCAT(x, " is larger than ", y);
    ELSEIF x < y THEN
      SET result = CONCAT(x, " is smaller than ", y);
    ELSE
      SET result = CONCAT(x, " and ", y, " are equal");
    END IF;
    RETURN result;
  END //
  
DELIMITER ;

Bây giờ, hàm sẽ chỉ chạy câu lệnh

SELECT charLength("Hello"),
  charLength("Morning");
4 khi giá trị của
+---------------------------+-----------------------------------+
| charLength("Hello")       | charLength("Morning")             |
+---------------------------+-----------------------------------+
| Hello length is 5 or less | Morning length is greater than 5  |
+---------------------------+-----------------------------------+
1 row in set (0.00 sec)
5 không lớn hơn hoặc nhỏ hơn giá trị của
+---------------------------+-----------------------------------+
| charLength("Hello")       | charLength("Morning")             |
+---------------------------+-----------------------------------+
| Hello length is 5 or less | Morning length is greater than 5  |
+---------------------------+-----------------------------------+
1 row in set (0.00 sec)
6

Làm thế nào để sử dụng nếu khác trong truy vấn MySQL?

Câu lệnh IF-THEN-ELSE của MySQL . Câu điều kiện IF THEN; . true – câu lệnh giữa IF-THEN và ELSE sẽ được thực thi. If a specified condition is: true – statements between IF-THEN and ELSE will be executed.

Làm thế nào để viết nếu điều kiện trong MySQL?

Hàm IF() của MySQL .
Trả về "YES" nếu điều kiện là TRUE, hoặc "NO" nếu điều kiện là FALSE. .
Trả về 5 nếu điều kiện là TRUE, hoặc 10 nếu điều kiện là FALSE. .
Kiểm tra xem hai chuỗi có giống nhau không và trả về "CÓ" nếu đúng hoặc "KHÔNG" nếu không

Thủ tục có thể trả về một giá trị trong MySQL không?

Để trả về một giá trị từ thủ tục được lưu trữ, bạn cần sử dụng biến phiên cụ thể do người dùng xác định . Thêm biểu tượng @ trước tên biến.

Cú pháp của if là gì

Cú pháp nhiều dòng . sau đó. When an If .. Then ... Gặp câu lệnh khác, điều kiện được kiểm tra. Nếu điều kiện là True thì các câu lệnh sau Then được thực hiện. Nếu điều kiện là Sai, mỗi câu lệnh ElseIf (nếu có) được đánh giá theo thứ tự.