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:
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ố
tình trạng | Yêu cầu. Giá trị để kiểm tra |
value_if_true | Yêu cầu. Giá trị để trả lại nếu điều kiện là đúng |
value_if_false | Yêu cầu. Giá trị để trả lại nếu điều kiện là sai |
Chi tiết kỹ thuật
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.
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;
5DELIMITER \\ CREATE PROCEDURE tmpfunc[] BEGIN IF x THEN INSERT INTO mytable [mycol] VALUES ['foo']; END IF; END \\ DELIMITER ; CALL tmpfunc[]; DROP PROCEDURE tmpfunc;
6DELIMITER \\ CREATE PROCEDURE tmpfunc[] BEGIN IF x THEN INSERT INTO mytable [mycol] VALUES ['foo']; END IF; END \\ DELIMITER ; CALL tmpfunc[]; DROP PROCEDURE tmpfunc;
7DELIMITER \\ CREATE PROCEDURE tmpfunc[] BEGIN IF x THEN INSERT INTO mytable [mycol] VALUES ['foo']; END IF; END \\ DELIMITER ; CALL tmpfunc[]; DROP PROCEDURE tmpfunc;
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 ;
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
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 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;
DELIMITER \\
CREATE PROCEDURE tmpfunc[] BEGIN
IF x THEN
INSERT INTO mytable [mycol]
VALUES ['foo'];
END IF;
END \\
DELIMITER ;
CALL tmpfunc[];
DROP PROCEDURE tmpfunc;
DELIMITER \\
CREATE PROCEDURE tmpfunc[] BEGIN
IF x THEN
INSERT INTO mytable [mycol]
VALUES ['foo'];
END IF;
END \\
DELIMITER ;
CALL tmpfunc[];
DROP PROCEDURE tmpfunc;
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
DELIMITER \\
CREATE PROCEDURE tmpfunc[] BEGIN
IF x THEN
INSERT INTO mytable [mycol]
VALUES ['foo'];
END IF;
END \\
DELIMITER ;
CALL tmpfunc[];
DROP PROCEDURE tmpfunc;
IF condition THEN
statements;
END IF;
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
DELIMITER \\
CREATE PROCEDURE tmpfunc[] BEGIN
IF x THEN
INSERT INTO mytable [mycol]
VALUES ['foo'];
END IF;
END \\
DELIMITER ;
CALL tmpfunc[];
DROP PROCEDURE tmpfunc;
IF condition THEN
statements;
END IF;
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 thiSử 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:
DELIMITER \\
CREATE PROCEDURE tmpfunc[] BEGIN
IF x THEN
INSERT INTO mytable [mycol]
VALUES ['foo'];
END IF;
END \\
DELIMITER ;
CALL tmpfunc[];
DROP PROCEDURE tmpfunc;
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;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: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
2Bạ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 NullifExample 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
4Hà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.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
6Hà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
7Bạn sẽ nhận được một đầu ra như vậy:
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
9ConclusionConclusion
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
- Tác giả
- Bài viết gần đây
#Mysql if, #MysQL If Function, #MysQL Statement, DBForge Studio cho MySQL, MySQL