If [] hàm
Mysql if [] lấy ba biểu thức và nếu biểu thức đầu tiên là đúng, không phải là không và không null, nó sẽ trả về biểu thức thứ hai. Nếu không, nó trả về biểu thức thứ ba.
Tùy thuộc vào ngữ cảnh mà nó được sử dụng, nó trả về giá trị số hoặc chuỗi.
Syntax:
IF[expression ,expr_true, expr_false];
Parameters:
biểu hiện | Một biểu thức. | & nbsp; |
expr_true | Trả về khi điều kiện là đúng. | Một chuỗi khi expr_true là một chuỗi, giá trị điểm nổi khi expr _true là giá trị điểm nổi và số nguyên khi expr _true là một số nguyên. |
expr_false | Trả về khi điều kiện là sai. | Một chuỗi khi expr_false là một chuỗi, giá trị dấu phẩy động khi expr _false là giá trị điểm nổi và số nguyên khi expr _false là một số nguyên. |
Phiên bản MySQL: 5.6
Lưu ý: Có một câu lệnh IF khác, khác với hàm if [] được mô tả trong chương thủ tục MySQL. There is an another IF statement, which differs from the IF[] function described in MySQL procedure chapter.
Trình bày bằng hình ảnh:
Ví dụ: hàm mysql if []
Trong câu lệnh sau, vì 1 là nhỏ hơn 3, do đó, if [] trả về biểu thức thứ ba, tức là sai.
Code:
SELECT IF[1>3,'true','false'];
Đầu ra mẫu:
mysql> SELECT IF[1>3,'true','false']; +------------------------+ | IF[1>3,'true','false'] | +------------------------+ | false | +------------------------+ 1 row in set [0.00 sec]
Ví dụ: if [] hàm với trường hợp
Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.
Code:
SELECT IF[[SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END],'true','false'];
Đầu ra mẫu:
mysql> SELECT IF[[SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END],'true','false']; +------------------------------------------------------------------------+ | IF[[SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END],'true','false'] | +------------------------------------------------------------------------+ | false | +------------------------------------------------------------------------+ 1 row in set, 1 warning [0.02 sec]
Ví dụ: if [] hàm với trường hợp
Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.
Code:
SELECT book_name,
IF[pub_lang='English',"English Book","Other Language"]
AS Language
FROM book_mast;
Mysql nếu trong câu lệnh select
Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.
mysql> SELECT book_name, -> IF[pub_lang="English", "Engllish Book", "Other Lnaguage"] -> AS Language -> FROM book_mast; +-------------------------------------+----------------+ | book_name | Language | +-------------------------------------+----------------+ | Introduction to Electrodynamics | Engllish Book | | Understanding of Steel Construction | Engllish Book | | Guide to Networking | Other Lnaguage | | Transfer of Heat and Mass | Engllish Book | | Conceptual Physics | Other Lnaguage | | Fundamentals of Heat | Other Lnaguage | | Advanced 3d Graphics | Other Lnaguage | | Human Anatomy | Other Lnaguage | | Mental Health Nursing | Engllish Book | | Fundamentals of Thermodynamics | Engllish Book | | The Experimental Analysis of Cat | Other Lnaguage | | The Nature of World | Engllish Book | | Environment a Sustainable Future | Other Lnaguage | | Concepts in Health | Other Lnaguage | | Anatomy & Physiology | Other Lnaguage | | Networks and Telecommunications | Other Lnaguage | +-------------------------------------+----------------+ 16 rows in set [0.02 sec]
Bảng mẫu: Book_Mast
Đầu ra mẫu:
Code:
SELECT book_name,isbn_no,
IF[[SELECT COUNT[*] FROM book_mast WHERE pub_lang='English']>
[SELECT COUNT[*] FROM book_mast WHERE pub_lang'English'],
[CONCAT["Pages: ",no_page]],[CONCAT["Price: ",book_price]]]
AS "Page / Price"
FROM book_mast;
Mysql nếu trong câu lệnh select
Đầu ra mẫu:
mysql> SELECT book_name,isbn_no, -> IF[[SELECT COUNT[*] FROM book_mast WHERE pub_lang='English']> -> [SELECT COUNT[*] FROM book_mast WHERE pub_lang'English'], -> [CONCAT["Pages: ",no_page]],[CONCAT["Price: ",book_price]]] -> AS "Page / Price" -> FROM book_mast; +-------------------------------------+-------------+---------------+ | book_name | isbn_no | Page / Price | +-------------------------------------+-------------+---------------+ | Introduction to Electrodynamics | 0000979001 | Price: 85.00 | | Understanding of Steel Construction | 0000979002 | Price: 105.50 | | Guide to Networking | 0000979003 | Price: 200.00 | | Transfer of Heat and Mass | 0000979004 | Price: 250.00 | | Conceptual Physics | 0000979005 | Price: 145.00 | | Fundamentals of Heat | 0000979006 | Price: 112.00 | | Advanced 3d Graphics | 0000979007 | Price: 56.00 | | Human Anatomy | 0000979008 | Price: 50.50 | | Mental Health Nursing | 0000979009 | Price: 145.00 | | Fundamentals of Thermodynamics | 0000979010 | Price: 225.00 | | The Experimental Analysis of Cat | 0000979011 | Price: 95.00 | | The Nature of World | 0000979012 | Price: 88.00 | | Environment a Sustainable Future | 0000979013 | Price: 100.00 | | Concepts in Health | 0000979014 | Price: 180.00 | | Anatomy & Physiology | 0000979015 | Price: 135.00 | | Networks and Telecommunications | 00009790_16 | Price: 45.00 | +-------------------------------------+-------------+---------------+ 16 rows in set [0.00 sec]
Ví dụ: if [] hàm với trường hợp
Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.
mysql> SELECT book_id, book_name, pub_lang -> FROM book_mast; +---------+-------------------------------------+----------+ | book_id | book_name | pub_lang | +---------+-------------------------------------+----------+ | BK001 | Introduction to Electrodynamics | English | | BK002 | Understanding of Steel Construction | English | | BK003 | Guide to Networking | Hindi | | BK004 | Transfer of Heat and Mass | English | | BK005 | Conceptual Physics | NULL | | BK006 | Fundamentals of Heat | German | | BK007 | Advanced 3d Graphics | Hindi | | BK008 | Human Anatomy | German | | BK009 | Mental Health Nursing | English | | BK010 | Fundamentals of Thermodynamics | English | | BK011 | The Experimental Analysis of Cat | French | | BK012 | The Nature of World | English | | BK013 | Environment a Sustainable Future | German | | BK014 | Concepts in Health | NULL | | BK015 | Anatomy & Physiology | Hindi | | BK016 | Networks and Telecommunications | French | +---------+-------------------------------------+----------+ 16 rows in set [0.00 sec]
Mysql nếu trong câu lệnh select
Code:
SELECT IF[1>3,'true','false'];
0Đầu ra mẫu:
SELECT IF[1>3,'true','false'];
1Ví dụ: if [] hàm với trường hợp
Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.
Mysql nếu trong câu lệnh select
Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.
Code:
SELECT IF[1>3,'true','false'];
2Đầu ra mẫu:
SELECT IF[1>3,'true','false'];
3Ví dụ: if [] hàm với trường hợp
Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'sai' vì biểu thức đầu tiên không đúng.
Mysql nếu trong câu lệnh select
Code:
SELECT IF[1>3,'true','false'];
4Câu lệnh MySQL sau đây trả về tên sách và trong đó ngôn ngữ cuốn sách đã được xuất bản. Trạng thái của ngôn ngữ là cuốn sách tiếng Anh cho pub_lang tiếng Anh khác, nó trở lại 'ngôn ngữ khác'.
SELECT IF[1>3,'true','false'];
5Bảng mẫu: Book_Mast
SELECT IF[1>3,'true','false'];
6Đầu ra mẫu:
MySQL Chọn trong câu lệnh IF CASE operator
Next: IFNULL[]