mysql中提供了許多判斷函數,可用于在查詢中對數據進行條件過濾和計算。下面將介紹幾個常用的判斷函數。
1. IF(expr1, value1, value2) IF函數是一個三目運算符,如果expr1為真,則返回value1,否則返回value2。示例代碼如下: SELECT name,IF(score>=60, '及格', '不及格') as result FROM student; 2. CASE WHEN expr1 THEN value1 WHEN expr2 THEN value2 ... ELSE value3 END CASE WHEN語句實現類似于switch語句的功能,根據條件表達式匹配不同的分支并執行不同的操作。示例代碼如下: SELECT name,CASE WHEN score>=90 THEN '優秀' WHEN score>=60 THEN '及格' ELSE '不及格' END as result FROM student; 3. NULLIF(expr1, expr2) NULLIF函數用于比較兩個表達式,如果相等則返回NULL,否則返回expr1的值。常常用于防止除數為0的情況。示例代碼如下: SELECT 10/NULLIF(0, 0); 4. COALESCE(expr1, expr2, ...) COALESCE函數用于找到第一個非NULL表達式,并返回其結果。如果所有表達式都為NULL,則返回NULL。示例代碼如下: SELECT COALESCE(NULL, NULL, 'a', 'b');