Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Thí dụ

Trả lại "có" nếu điều kiện là đúng hoặc "không" nếu điều kiện là sai:

Show

Chọn nếu (500

Hãy tự mình thử »


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

Hàm if () trả về một giá trị nếu một điều kiện là đúng hoặc giá trị khác nếu một điều kiện là sai.

Cú pháp

If (điều kiện, value_if_true, value_if_false)

Giá trị tham số

Tham sốSự mô tả
tình trạngYêu cầu. Giá trị để kiểm tra
value_if_trueYêu cầu. Giá trị để trả lại nếu điều kiện là đúng
value_if_falseYêu cầu. Giá trị để trả lại nếu điều kiện là sai

Chi tiết kỹ thuật

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

Nhiều ví dụ hơn

Thí dụ

Trả lại 5 nếu điều kiện là đúng hoặc 10 nếu điều kiện là sai:

Chọn nếu (500

Hãy tự mình thử »

Thí dụ

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

Hàm if () trả về một giá trị nếu một điều kiện là đúng hoặc giá trị khác nếu một điều kiện là sai.

Hãy tự mình thử »

Thí dụ

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

Hàm if () trả về một giá trị nếu một điều kiện là đúng hoặc giá trị khác nếu một điều kiện là sai.
FROM OrderDetails;

Hãy tự mình thử »



Bạn đã gợi ý về nó trong nhận xét của bạn, nhưng không có câu trả lời nào ở đây nêu rõ, vì vậy tôi sẽ:

Trong MySQL, bạn không thể sử dụng câu lệnh IF bên ngoài thân của một thủ tục được lưu trữ. Tài liệu ngụ ý điều này khi nó giới thiệu khái niệm này là "câu lệnh IF cho các chương trình được lưu trữ" (sự nhấn mạnh của tôi).stored programs" (my emphasis).

Theo như tôi có thể thấy, không có cách nào dễ dàng để kiểm soát luồng thực thi trong các câu lệnh được đưa ra tại dấu nhắc dòng lệnh hoặc qua máy khách (ví dụ: từ PHP), ngoại trừ việc truy vấn các giá trị, sau đó chuyển đổi luồng điều khiển dựa trên các giá trị đó bên ngoài MySQL (tức là sử dụng câu lệnh

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
0 của PHP thay vì MySQL's). Tôi rất thích được sửa chữa về điều này :-)


Bạn có thể mô phỏng điều này trên cơ sở từng trường hợp bằng cách sử dụng các công trình khác. Ví dụ:

IF x THEN 
  INSERT INTO mytable (mycol)
  VALUES ('foo')
END IF

có thể trở thành

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x

(theo câu trả lời này)


Bạn cũng có thể tạo, gọi và sau đó bỏ một quy trình được lưu trữ mới:

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;

(theo câu trả lời này)

Có hai loại IF trong MySQL: câu lệnh

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 và hàm
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1. Cả hai đều khác nhau. & NBSP;

Trong bài viết này, chúng tôi sẽ giải thích sự đa dạng của họ và hiển thị các ví dụ sử dụng. Ngoài ra, chúng tôi sẽ xem xét các chức năng MySQL khác.

Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Nội dung

  • MySQL If Fatements: Cú pháp và ví dụ
  • Mysql if-then tuyên bố
  • Mysql if-then-else tuyên bố
  • Mysql if-then-elseif-else tuyên bố
  • Ví dụ về mysql nếu câu lệnh
  • Mysql nếu hàm: định nghĩa và ví dụ
    • MySQL là gì nếu chức năng?
    • Nếu hàm so với câu lệnh
    • Ví dụ về mysql nếu chức năng
    • Ví dụ 1: MySQL nếu hàm có chức năng tổng hợp
    • Ví dụ 2: Hàm Nullif
    • Ví dụ 3: Hàm Ifnull
    • Ví dụ 4: Hiển thị N/A thay vì NULL bằng cách sử dụng MySQL nếu hàm
  • Sự kết luận

MySQL If Fatements: Cú pháp và ví dụ

Câu lệnh

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 cho phép bạn xác minh một điều kiện. Có ba loại câu lệnh MySQL
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1: & nbsp;

  • DELIMITER \\
    CREATE PROCEDURE tmpfunc() BEGIN
      IF x THEN 
        INSERT INTO mytable (mycol)
        VALUES ('foo');
      END IF;
    END \\
    DELIMITER ;
    CALL tmpfunc();
    DROP PROCEDURE tmpfunc;
    
    5
  • DELIMITER \\
    CREATE PROCEDURE tmpfunc() BEGIN
      IF x THEN 
        INSERT INTO mytable (mycol)
        VALUES ('foo');
      END IF;
    END \\
    DELIMITER ;
    CALL tmpfunc();
    DROP PROCEDURE tmpfunc;
    
    6
  • DELIMITER \\
    CREATE PROCEDURE tmpfunc() BEGIN
      IF x THEN 
        INSERT INTO mytable (mycol)
        VALUES ('foo');
      END IF;
    END \\
    DELIMITER ;
    CALL tmpfunc();
    DROP PROCEDURE tmpfunc;
    
    7

Mysql if-then tuyên bố

Mysql if-then-else tuyên bố

IF condition THEN 
  statements;
END IF;

Mysql if-then-elseif-else tuyên bố

  • Ví dụ về mysql nếu câu lệnh
  • Mysql nếu hàm: định nghĩa và ví dụ

Mysql if-then-else tuyên bố

Mysql if-then-elseif-else tuyên bố

IF condition THEN
   statements;
ELSE
   else-statements;
END IF;

Ví dụ về mysql nếu câu lệnh

  • Mysql nếu hàm: định nghĩa và ví dụ
  • MySQL là gì nếu chức năng?

Mysql if-then-elseif-else tuyên bố

Ví dụ về mysql nếu câu lệnh

IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;

Mysql nếu hàm: định nghĩa và ví dụ

  • MySQL là gì nếu chức năng?
  • Nếu hàm so với câu lệnh

Ví dụ về mysql nếu chức năng

  • Ví dụ 1: MySQL nếu hàm có chức năng tổng hợp
  • Ví dụ 2: Hàm Nullif

Ví dụ 3: Hàm Ifnull

Ví dụ về mysql nếu câu lệnh

Mysql nếu hàm: định nghĩa và ví dụ

MySQL là gì nếu chức năng?

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Nếu hàm so với câu lệnh

  • Ví dụ về mysql nếu chức năng
  • Ví dụ 1: MySQL nếu hàm có chức năng tổng hợp
Ví dụ 2: Hàm Nullif
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Using the

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
7 statement, we set multiple conditions:

  • Ví dụ 3: Hàm Ifnull
  • Ví dụ 4: Hiển thị N/A thay vì NULL bằng cách sử dụng MySQL nếu hàm
  • Sự kết luận
MySQL If Fatements: Cú pháp và ví dụ
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

MySQL IF function: definition and examples

Câu lệnh DELIMITER \\ CREATE PROCEDURE tmpfunc() BEGIN IF x THEN INSERT INTO mytable (mycol) VALUES ('foo'); END IF; END \\ DELIMITER ; CALL tmpfunc(); DROP PROCEDURE tmpfunc; 1 cho phép bạn xác minh một điều kiện. Có ba loại câu lệnh MySQL DELIMITER \\ CREATE PROCEDURE tmpfunc() BEGIN IF x THEN INSERT INTO mytable (mycol) VALUES ('foo'); END IF; END \\ DELIMITER ; CALL tmpfunc(); DROP PROCEDURE tmpfunc; 1: & nbsp;

Bạn có thể sử dụng

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
5 để chạy bộ sưu tập các truy vấn SQL dựa trên một điều kiện. Đây là cú pháp tuyên bố:

Nếu một điều kiện được chỉ định đánh giá: & nbsp;

Đúng - các tuyên bố giữa DELIMITER \\ CREATE PROCEDURE tmpfunc() BEGIN IF x THEN INSERT INTO mytable (mycol) VALUES ('foo'); END IF; END \\ DELIMITER ; CALL tmpfunc(); DROP PROCEDURE tmpfunc; 5 và IF condition THEN statements; END IF;0 sẽ được thực thi

Sai - Các câu sau khối

IF condition THEN 
  statements;
END IF;
0 sẽ được áp dụng

Để thực hiện các câu lệnh khi một điều kiện trong khối

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 không đánh giá là TRUE, bạn có thể sử dụng
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
6. Cú pháp trông như sau: & nbsp;

IF(expr,if_true_expr,if_false_expr)

Nếu một điều kiện được chỉ định là: & nbsp;

Đúng - các tuyên bố giữa DELIMITER \\ CREATE PROCEDURE tmpfunc() BEGIN IF x THEN INSERT INTO mytable (mycol) VALUES ('foo'); END IF; END \\ DELIMITER ; CALL tmpfunc(); DROP PROCEDURE tmpfunc; 5 và IF condition THEN statements; END IF;5 sẽ được thực thi

Sai - Các câu sau

IF condition THEN 
  statements;
END IF;
5 và
IF condition THEN 
  statements;
END IF;
0 sẽ được thực thi

Sử dụng DELIMITER \\ CREATE PROCEDURE tmpfunc() BEGIN IF x THEN INSERT INTO mytable (mycol) VALUES ('foo'); END IF; END \\ DELIMITER ; CALL tmpfunc(); DROP PROCEDURE tmpfunc; 7, bạn có thể chạy các câu lệnh dựa trên một số điều kiện. Cú pháp được đưa ra dưới đây:

Hãy để xem xét từng khối. & Nbsp; nếu một điều kiện trong

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
5 là: & nbsp;

Đúng - các câu lệnh sẽ được thực thi

Sai-Điều kiện khác sẽ được đánh giá & NBSP;

Nếu OTHERIF-Điều kiện trong

IF condition THEN
   statements;
ELSE
   else-statements;
END IF;
0 là:

Đúng-Elsesif-statements sẽ được thực thi & nbsp;
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

In the query above, if the task status is completed or planned, the

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 function returns 1 or 0. The
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
3 function determines the total number of planned and completed tasks depending on the returned value of the
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 function.

MySQL đếm nếu

Có thể kết hợp hàm

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 với hàm MySQL
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8. Chúng tôi chọn trạng thái nhiệm vụ trong bảng tác vụ bằng truy vấn sau:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
1BY Kết hợp hàm
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 với
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8, chúng ta có thể tìm hiểu xem có bao nhiêu nhiệm vụ trong mỗi trạng thái tại bất kỳ thời điểm nào. Vì các giá trị
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 không được tính bởi hàm
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8, hàm
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 trả về
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 nếu trạng thái không nằm trong trạng thái đã chọn và 1 nếu không. Hãy xem truy vấn sau:
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

By combining the

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 function with
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8, we can find out how many tasks are in each status at any given time. As
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 values are not counted by the
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8 function, the
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 function returns
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 if the status is not in the selected status, and 1 otherwise. Take a look at the following query:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
2

Bạn cũng có thể nhận được kết quả tương tự mà không có chức năng

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 bằng cách sử dụng mệnh đề
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
6 và hàm
IF condition THEN
   statements;
ELSEIF elseif-condition THEN
   elseif-statements;
...
ELSE
   else-statements;
END IF;
8, như được hiển thị bên dưới:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
3Example 2: Hàm Nullif
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Example 2: the NULLIF function

MySQL

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
8 được sử dụng để so sánh hai biểu thức:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
4

Hàm trả về

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 Nếu cả hai biểu thức đều bằng nhau, nếu không, nó sẽ trả về biểu thức đầu tiên. Hãy thử thử nó trong thực tế:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
5AS Bạn có thể thấy, cả hai biểu thức đều bằng nhau, đó là lý do tại sao hàm trả về
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1.
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

As you can see, both expressions are equal, that is why the function returned

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1.

Ví dụ 3: Hàm Ifnull

MySQL

DELIMITER $$
CREATE PROCEDURE GetEmptyStatusNotNull(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE STATUS IS NOT NULL;
    IF sum_null = 0 THEN
        SET Message = 'We have rows with NULL!!!';
                    ELSE 
        SET Message = 'We do not have rows with NULL!!!' ;
    END IF;
END$$
DELIMITER ;
1 được sử dụng để kiểm tra bất kỳ giá trị
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1 nào trong các biểu thức được chỉ định:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
6

Hàm trả về expr_1 nếu biểu thức là

DELIMITER $$
CREATE PROCEDURE GetEmptyStatusNotNull(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE STATUS IS NOT NULL;
    IF sum_null = 0 THEN
        SET Message = 'We have rows with NULL!!!';
                    ELSE 
        SET Message = 'We do not have rows with NULL!!!' ;
    END IF;
END$$
DELIMITER ;
3. Mặt khác, nó trả về expr_2 nếu biểu thức là
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1. Vì vậy, ví dụ, nếu bạn chạy:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
7

Bạn sẽ nhận được một đầu ra như vậy:

Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Hàm trả về 500 vì biểu thức trong

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1.

Ví dụ 4: Hiển thị N/A thay vì NULL bằng cách sử dụng MySQL nếu hàm

Hãy để tạo ra một công ty bảng MySQL demo. Nhiều nhân viên trong bảng nhân viên không có dữ liệu trong cột Thành phố và kết quả là khi chúng tôi chọn nhân viên, cột Thành phố hiển thị các giá trị

DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1. Hãy xem truy vấn sau:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
8

Để cải thiện đầu ra, chúng ta có thể sử dụng chức năng

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 để trả về N/A nếu thành phố là
DELIMITER $$
CREATE PROCEDURE GetEmtyStatus(
    OUT Message  VARCHAR(100))
BEGIN
    DECLARE sum_null DECIMAL(10,2) DEFAULT 0;
    SELECT COUNT(*) INTO sum_null FROM TASKS WHERE status IS NULL;
    IF sum_null > 0 THEN
        SET Message = 'We have rows with NULL!!!';
    END IF;
END$$
DELIMITER ;
1, như được hiển thị bởi truy vấn sau:

INSERT INTO mytable (mycol)
SELECT 'foo'
FROM dual
WHERE x
9Conclusion
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

Conclusion

Trong bài viết này, chúng tôi đã tìm ra sự khác biệt giữa câu lệnh MySQL

DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 và hàm
DELIMITER \\
CREATE PROCEDURE tmpfunc() BEGIN
  IF x THEN 
    INSERT INTO mytable (mycol)
    VALUES ('foo');
  END IF;
END \\
DELIMITER ;
CALL tmpfunc();
DROP PROCEDURE tmpfunc;
1 và xem xét các chức năng MYSQL khác. Ngoài ra, chúng tôi đã cho thấy một phần nhỏ của các biến thể sử dụng cho cả hai. Trên thực tế, có rất nhiều câu lệnh, truy vấn và chức năng của MySQL. Đó là lý do tại sao, quản trị viên cơ sở dữ liệu phải có một công cụ đáng tin cậy và dễ sử dụng để tạo điều kiện cho công việc thường xuyên của họ.

Ví dụ, DBForge Studio cho MySQL có thể trở thành trợ lý không thể thiếu của bạn để phát triển cơ sở dữ liệu, quản lý và quản trị. Công cụ này có các tính năng phong phú trong đó bạn có thể tìm thấy định dạng hoàn thành mã và định dạng mã, báo cáo dữ liệu và nhiều tính năng khác. Nhân tiện, với Truy vấn Builder do DBForge Studio cung cấp cho MySQL, bạn có thể tạo các truy vấn về bất kỳ sự phức tạp nào trong trình chỉnh sửa truy vấn trực quan MySQL. Và nếu

Để biết thêm thông tin về DBForge Studio cho MySQL, vui lòng xem các hướng dẫn video này. Ngoài ra, chúng tôi có các bài viết liên quan về các câu lệnh MySQL và nếu bạn muốn đọc chúng, chúng đây là:

  • Nhóm theo tuyên bố trong MySQL với mười hai ví dụ
  • Mysql chọn câu lệnh cơ bản
  • Trường hợp điều kiện trong MySQL với 16 ví dụ truy vấn khác nhau
  • Câu lệnh INSQL INSERT - Chèn hàng vào bảng
Hướng dẫn mysql select in if statement - mysql chọn trong câu lệnh if

  • Tác giả
  • Bài viết gần đây

#Mysql if, #MysQL If Function, #MysQL Statement, DBForge Studio cho MySQL, MySQL

Chúng ta có thể sử dụng câu lệnh CHỌN trong điều kiện nếu trong mysql không?

Hoàn toàn có thể sử dụng hàm mysql if () trong câu lệnh select bằng cách cung cấp tên của cột cùng với một điều kiện là đối số đầu tiên của hàm if (). Để hiểu nó, hãy xem xét các dữ liệu sau từ bảng 'sinh viên'.. To understand it, consider the following data from table 'Students'.

Chúng ta có thể viết nếu câu lệnh trong Chọn?

Đây không phải là những gì người yêu cầu muốn, nhưng rất hữu ích để biết rằng bạn có thể sử dụng nếu các câu lệnh bên ngoài một câu lệnh chọn.Tồn tại là tốt vì nó khởi động ra khỏi vòng tìm kiếm nếu tìm thấy vật phẩm.Một đếm chạy cho đến khi kết thúc các hàng bảng.you can use if statements outside a select statement. EXISTS is good because it kicks out of the search loop if item is found. A COUNT runs until the end of table rows.

Chúng ta có thể sử dụng nếu điều kiện trong truy vấn SQL không?

Chúng ta có thể sử dụng câu lệnh SQL nếu không có khác.Sau đây, biểu thức đánh giá là đúng;Do đó, nó in tin nhắn.Nếu biểu thức đánh giá sai, nó không trả về bất kỳ đầu ra nào.Chúng ta nên sử dụng câu lệnh khác để nếu đánh giá không đúng, chúng ta có thể đặt đầu ra mặc định.. In the following, the expression evaluates to TRUE; therefore, it prints the message. If the expression evaluates to FALSE, it does not return any output. We should use ELSE statement so that if an evaluation is not TRUE, we can set default output.

Có nếu khác trong MySQL?

Câu lệnh IF có thể có sau đó, khác và các điều khoản khác, và nó bị chấm dứt với kết thúc nếu.Nếu một search_condition đã cho đánh giá là true, thì or othe or otherif forment_list thực thi., and it is terminated with END IF . If a given search_condition evaluates to true, the corresponding THEN or ELSEIF clause statement_list executes.