在 MySQL 中,IF 函數(shù)可以用于根據(jù)給定的條件來(lái)返回不同的值。在某些情況下,需要同時(shí)滿(mǎn)足兩個(gè)條件才能返回指定的值。為了實(shí)現(xiàn)這種情況,可以使用 IF 函數(shù)的兩個(gè)參數(shù),并嵌套在一個(gè)單一的語(yǔ)句中。
SELECT IF(condition1 AND condition2, value_if_true, value_if_false) AS result FROM table_name;
上面的語(yǔ)句中,可以看到 IF 函數(shù)有兩個(gè)條件,即 condition1 和 condition2,這兩個(gè)條件都必須為真才能返回指定的值。如果條件為假,則將返回 value_if_false 參數(shù)中指定的值。
例如,假設(shè)有一個(gè)客戶(hù)表,該表包含客戶(hù)的名稱(chēng)、地址和貸款金額?,F(xiàn)在需要篩選出客戶(hù)地址位于紐約市且貸款金額高于 1000 美元的客戶(hù)??梢允褂靡韵抡Z(yǔ)句來(lái)完成篩選:
SELECT customer_name, loan_amount FROM customer WHERE IF(customer_address = 'New York' AND loan_amount >1000, 1, 0) = 1;
在上面的語(yǔ)句中,IF 函數(shù)的兩個(gè)條件是客戶(hù)的地址等于紐約,并且貸款金額大于 1000 美元。如果這兩個(gè)條件滿(mǎn)足,IF 函數(shù)將返回值為 1,否則返回 0。然后使用 WHERE 子句來(lái)篩選值為 1 的行,即滿(mǎn)足兩個(gè)條件的行。