mysql. Hàm IF( ) Show Cải thiện bài viết Lưu bài viết Thích bài viết
Cải thiện bài viết Lưu bài viết Hàm IF() của MySQL được sử dụng để xác thực một điều kiện. Hàm IF() trả về một giá trị nếu điều kiện là TRUE và một giá trị khác nếu điều kiện là FALSE. Hàm MySQL IF() có thể trả về các giá trị có thể là số hoặc chuỗi tùy thuộc vào ngữ cảnh mà hàm được sử dụng cú pháp IF(condition, true_value, false_value) Thông số được sử dụng
Giá trị trả về Các phiên bản được hỗ trợ của MySQL
Ví dụ 1. Thực hiện hàm IF() với điều kiện số và trả về giá trị chuỗi SELECT IF(5<12, 'TRUE', 'FALSE'); đầu ra TRUE Ví dụ-2. Thực hiện hàm IF() để so sánh hai chuỗi SELECT IF(STRCMP('geeksforgeeks', 'gfg')=0, 'TRUE', 'FALSE'); đầu ra FALSE Ví dụ-3. Triển khai hàm IF() trên điều kiện số và trả về giá trị số SELECT IF(5<12, '1', '0'); đầu ra 1 Ghi chú cá nhân của tôi arrow_drop_up Tiết kiệm Vui lòng Đăng nhập để nhận xét.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ụ Sự miêu tảTrong MySQL, câu lệnh IF-THEN-ELSE được sử dụng để thực thi mã khi điều kiện là TRUE hoặc thực thi mã khác nếu điều kiện ước tính là FALSE cú phápCú pháp của 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;ELSEIFTùy chọn. Bạn sẽ sử dụng điều kiện ELSEIF khi bạn muốn thực hiện một tập hợp các câu lệnh khi điều kiện thứ hai (nghĩa là. điều kiện2) là ĐÚNG. KHÁCTùy chọn. Bạn sẽ sử dụng điều kiện ELSE 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 IF hoặc ELSEIF nào được đánh giá là TRUE Ghi chú
Thí dụSau đây là ví dụ sử dụng câu lệnh IF-THEN-ELSE trong hàm MySQL ________số 8_______Trong ví dụ về câu lệnh IF-THEN-ELSE này, chúng ta đã tạo một hàm gọi là IncomeLevel. Nó có một tham số được gọi là daily_value và nó trả về một varchar(20). Hàm sẽ trả về mức thu nhập dựa trên giá_trị_tháng MySQL IF() nhận ba biểu thức và nếu biểu thức đầu tiên là true, không phải 0 và không phải NULL, nó sẽ trả về biểu thức thứ hai. Mặt khác, 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 cú pháp IF(expression ,expr_true, expr_false); Thông số TênMô tảKiểu trả vềbiểu thứcMột biểu thức. expr_trueTrả về khi điều kiện là TRUE. một chuỗi khi expr_true là một chuỗi, một giá trị dấu phẩy động khi expr _true là một giá trị dấu phẩy động và một số nguyên khi expr _true là một số nguyên. expr_falseTrả về khi điều kiện là FALSE. một chuỗi khi expr_false là một chuỗi, một giá trị dấu phẩy động khi expr _false là một giá trị dấu phẩy động và một số nguyên khi expr _false là một số nguyên Phiên bản MySQL. 5. 6 Ghi chú. Có một hàm khác, khác với hàm IF() được mô tả trong chương thủ tục MySQL Trình bày bằng hình ảnh Thí dụ. Hàm IF() của MySQL Trong câu lệnh sau, vì 1 nhỏ hơn 3, nên hàm IF() trả về biểu thức thứ ba, i. e. sai Mã số
Đầu ra mẫu mysql> SELECT IF(1>3,'true','false'); +------------------------+ | IF(1>3,'true','false') | +------------------------+ | false | +------------------------+ 1 row in set (0.00 sec) Thí dụ. hàm IF() với CASE Trong ví dụ sau, câu lệnh MySQL trả về biểu thức thứ ba 'false' vì biểu thức đầu tiên không đúng Mã số
Đầ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) MySQL IF trong câu lệnh CHỌN Câu lệnh MySQL sau đây trả về tên cuốn sách và cuốn sách đã được xuất bản bằng ngôn ngữ nào. Trạng thái của ngôn ngữ là Sách tiếng Anh cho pub_lang Tiếng Anh khác, nó trả về 'Ngôn ngữ khác' Mã số
bảng mẫu. book_mast Đầu ra mẫu 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) MySQL CHỌN trong câu lệnh IF Câu lệnh MySQL sau đây trả về tên sách, số isbn và bí danh cột Trang/Giá của một biểu thức từ bảng book_mast. Trang/Giá sẽ là Giá khi số lượng ngôn ngữ khác ngoài tiếng Anh nhiều hơn ngôn ngữ khác tiếng Anh thì Trang/Giá sẽ là Trang và không có trang. Ở đây trong ví dụ này, số sách ngôn ngữ khác nhiều hơn số sách tiếng Anh Mã số
bảng mẫu. book_mast Đầ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) Hiển thị văn bản tùy chỉnh thay vì NULL bằng hàm MySQL IF Trong bảng book_mast, ngôn ngữ xuất bản của một số cuốn sách chưa được đặt, do đó khi chúng tôi chọn book_mast, cột pub_lang hiển thị giá trị NULL, không có ý nghĩa cho mục đích báo cáo. Xem truy vấn sau 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) Chúng ta có thể tránh hiển thị NULL ở đầu ra bằng cách sử dụng hàm IF để trả về N/A thay vì NULL. Đây là truy vấn dưới đây Mã số 0Đầu ra mẫu 1Hàm IF của MySQL với các hàm tổng hợp MySQL SUM IF – Hàm IF với hàm SUM bảng mẫu. mua Câu lệnh SQL sau đây sẽ hiển thị số lượng mua sách xuất bản theo ngôn ngữ tiếng Anh và không phải tiếng Anh liên tiếp Mã số 2Đầu ra mẫu 3MySQL COUNT IF – Hàm IF với hàm COUNT bảng mẫu. nhà xuất bản Câu lệnh sql sau đây sẽ hiển thị số lượng nhà xuất bản liên tiếp cho mỗi quốc gia được liệt kê trong bảng nhà xuất bản Mã số 4Đầu ra mẫu 5Một cách khác để đạt được kết quả tương tự, bạn có thể sử dụng mệnh đề GROUP BY và hàm COUNT mà không sử dụng hàm IF, báo cáo hiển thị khác hẳn. Đầu ra ở trên đã hiển thị trong một hàng nhưng truy vấn sau đây sẽ hiển thị số lượng hàng cho số lượng quốc gia khác nhau. Đây là mã và kết quả Làm cách nào để sử dụng hàm if trong truy vấn 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 Chúng ta có thể sử dụng câu lệnh if trong truy vấn SELECT trong MySQL không?Hoàn toàn có thể sử dụng hàm IF() của MySQL 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àm đối số đầu tiên của hàm IF() . Để hiểu nó, hãy xem xét dữ liệu sau từ bảng 'Sinh viên'.
Tôi có thể sử dụng điều kiện if trong truy vấn SQL không?điều kiện IF trong SQL
. Hàm trả về một giá trị nếu điều kiện là TRUE và giá trị khác nếu điều kiện là FALSE
Chúng ta có thể sử dụng == trong MySQL không?Tìm hiểu MySQL từ đầu về Khoa học dữ liệu và Phân tích
. Nếu bạn sử dụng dấu bằng kép (==) trong MySQL, bạn sẽ nhận được thông báo lỗi. Bây giờ, hãy so sánh giá trị biến trên với 10. Nếu cả hai giá trị giống nhau thì kết quả sẽ là 1 ngược lại là 0. It can be used to compare two values. If you use double equal sign(==) in MySQL, you will get an error message. Now, compare the above variable value with 10. If both the values are same then the result will be 1 otherwise 0. |