Câu lệnh if trong mysql

You have been bao giờ tự hỏi. Trong MySQL, câu lệnh CASE, câu lệnh IF và hàm IF khác nhau thế nào? . Nhất là khi bạn vừa bắt đầu tìm hiểu về MySQL và cơ sở dữ liệu quan hệ

  Kinh nghiệm vận hành MySQL - Chú ý khi chọn MySQL làm cơ sở dữ liệu

  PHP & MySQL. Tập làm Ninja, Phiên bản thứ 5

Nếu bạn muốn tìm hiểu cơ sở dữ liệu là gì và có những loại nào, hãy tham khảo bài viết này

cú pháp

CASE câu lệnh

Câu lệnh if trong mysql
Câu lệnh if trong mysql

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

IF command

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;

hàm NẾU

IF(expr1,expr2,expr3)

Dao deep more

Nhìn vào cú pháp trên đây, ta có thể thấy, diễn tiến như hàm IF ít linh hoạt hơn câu lệnh CASE. Nếu bạn viết thế này

SELECT IF(movie = 'The Matrix', 'high', 'low') AS suggestion

Thì bạn hoàn toàn có thể sử dụng CASE như thế này

SELECT CASE WHEN movie = 'The Matrix' THEN 'high' ELSE 'low' END AS suggestion

Khá giống nhau có đúng không? . Nhưng nếu có nhiều hơn hai nhánh thì sao?

SELECT IF(movie = 'The Matrix', 'high', IF(movie = 'Endgame', 'medium', 'low')) AS suggestion

Mà nên là thế này

SELECT CASE movie 
    WHEN = 'The Matrix' THEN 'high'
    WHEN = 'Endgame'    THEN 'medium'
    ELSE 'low'
END AS suggestion

Nó cũng tương tự như khi ta dùng 

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
1 để rẽ nhánh vậy, tự nhiên thoải mái thoải mái hơn rất nhiều

Có một điều bạn phải chú ý. Trong khi câu lệnh CASE là câu lệnh chuẩn của SQL thì hàm IF lại hoàn toàn không phải. Điều đó có nghĩa là gì?

Ở một diễn biến khác, câu lệnh NẾU là cái gì đó rất lạ lùng với hai thứ trên. Nó được sử dụng khi viết thủ tục (thủ tục). Ví dụ

________số 8

Do đó, nhầm lẫn nên nhầm lẫn mục đích và mục đích sử dụng của câu lệnh IF với hàm IF, hay thậm chí là câu lệnh CASE. Chúng sinh ra vì những “sứ mệnh” khác nhau

Tuyên bố trường hợp trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được trả lời (như một câu lệnh if-then-else). Vì vậy, khi một điều kiện là đúng, nó sẽ tiếp tục đọc và trả về kết quả

Nếu không có điều kiện nào là đúng, nó sẽ trả về giá trị trong mệnh đề khác

Nếu không có phần khác và không có điều kiện nào là đúng, nó sẽ trả về giá trị rỗng

cú pháp

Trường hợp & nbsp;
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Tham số value

Tham số Sự kiện mô tả điều kiện1, điều kiện2,. điều kiện yêu cầu. Điều kiện. Chúng được đánh giá theo thứ tự giống như chúng được liệt kê trong bảng kêKết quả1, kết quả2,. kết quả yêu cầu. Giá trị để trả lại sau khi một điều kiện là đúng

Chi tiết kỹ thuật

Activity in. Từ MySQL 4. 0

Nhiều ví dụ hơn

SQL sau đây sẽ đặt khách hàng theo thành phố. Tuy nhiên, nếu Thành phố là NULL, thì hãy đặt hàng theo quốc gia

Thí dụ

Chọn Tên tùy chỉnh, Thành phố, Quốc giaTừ Khách hàng theo (Case       Khi Thành phố là NULL sau đó là Quốc gia & NBSP;     other CityEnd)
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);

Please tự mình thử »




Tuyên bố trường hợp MySQL

Câu lệnh

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
2 trải qua các điều kiện và trả về một giá trị khi điều kiện đầu tiên được trả lời (giống như một câu lệnh if-then-else). Vì vậy, khi một điều kiện là đúng, nó sẽ tiếp tục đọc và trả về kết quả. Nếu không có điều kiện nào là đúng, nó sẽ trả về giá trị trong mệnh đề
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
3

Nếu không có phần

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
3 và không có điều kiện nào là đúng, nó sẽ trả về null

COLTAX TRỰC TIẾP

Trường hợp & nbsp;
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;


Demo database

Dưới đây là một lựa chọn được lựa chọn từ bảng "Chi tiết đặt hàng" trong cơ sở dữ liệu mẫu Northwind

OrderDetailidOrderIDID sản phẩmSố lượng110248111221024842103102487254102491495102495140

Ví dụ trường hợp MySQL

SQL sau đây trải qua các điều kiện và trả về giá trị khi đáp ứng điều kiện đầu tiên

Thí dụ

Chọn ID đơn hàng, số lượng, trường hợp & nbsp;
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

Please tự mình thử »

SQL sau đây sẽ đặt khách hàng theo thành phố. Tuy nhiên, nếu Thành phố là NULL, thì hãy đặt hàng theo quốc gia

Thí dụ

Chọn ID đơn hàng, số lượng, trường hợp & nbsp;
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);

Please tự mình thử »




Hướng dẫn MySQL this 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ụ. Câu lệnh IF-THEN-ELSE trong MySQL với cú pháp và ví dụ

Mô tả sự kiện

Trong MySQL, câu lệnh if-then-else được sử dụng để thực thi mã khi một điều kiện là đúng hoặc thực thi mã khác nhau nếu điều kiện đánh giá là sai

cú pháp

Cú pháp cho 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;
Khác nếu không bắt buộc. Bạn sẽ sử dụng điều kiện khác 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 (IE. điều kiện2) là đúng. elTùy chọn. Bạn sẽ sử dụng điều kiện khác khi bạn muốn thực hiện một tập hợp các câu lệnh khi không có điều kiện khác được đánh giá là đúng

Ghi chú

  • Khi một điều kiện được tìm thấy là đúng, câu lệnh if-then-else sẽ thực thi mã tương ứng và không đánh giá các điều kiện nữa
  • Nếu không có điều kiện nào được trả lời, phần khác của câu lệnh if-then-else sẽ được thực thi
  • Điều quan trọng cần lưu ý là phần khác và các phần khác là tùy chọn

Thí dụ

Sau đây là ví dụ sử dụng câu lệnh if-then-else trong hàm MySQL

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
0

Trong ví dụ tuyên bố if-then-else này, chúng tôi đã tạo một hàm gọi là Incomelevel. Nó có một tham số được gọi là hàng tháng và nó được trả về một varchar (20). Hàm sẽ trả về khoản thu nhập dựa trên hàng tháng_giá trị

Sau đó là gì trong SQL?

Câu lệnh CASE SQL Server bao gồm ít nhất một cặp câu lệnh khi và sau đó. Khi câu lệnh chỉ định điều kiện sẽ được kiểm tra. Câu lệnh sau đó chỉ định hành động nếu điều kiện khi bất kỳ trả về đúng. Câu lệnh khác là tùy chọn và thực thi khi không có điều kiện nào được trả về đúng. Câu lệnh WHEN chỉ định điều kiện được kiểm tra. Câu lệnh THEN chỉ định hành động nếu điều kiện WHEN trả về TRUE . Câu lệnh ELSE là tùy chọn và thực thi khi không có điều kiện WHEN nào trả về true.

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

Hàm mysql if () 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àm IF() trả về một giá trị nếu điều kiện là TRUE hoặc giá trị khác nếu điều kiện là FALSE .

Làm thế nào để bạn viết nếu/sau đó khác trong SQL?

Nếu color = red thì dbms_output. put_line ('bạn đã chọn một chiếc xe màu đỏ') other dbms_output. put_line ('Vui lòng chọn màu cho xe của bạn');Kết thúc nếu;Nếu điều kiện biểu thức boolean đánh giá là đúng, thì khối if-sau đó được thực thi. Nếu không thì khối mã khác sẽ được thực thi. put_line('Bạn đã chọn xe màu đỏ') ELSE dbms_output. put_line('Vui lòng chọn màu xe của bạn'); . If the Boolean expression condition evaluates to true, then the if-then block of code will be executed otherwise the else block of code will be executed.

Làm cách nào để viết một câu lệnh IF trong mysql?

Mysql đơn giản câu lệnh if-then. .

Đầu tiên, chỉ định một điều kiện để thực thi mã giữa if-then và end if. Nếu điều kiện được đánh giá là TRUE, các câu lệnh giữa if-then và end if will done