测试版本:MySQL-8.0.33
IF() 函数
IF(condition, expr1, expr2)
如果 condition 为 true,则返回 expr1 的值,否则返回 expr2 的值。
IFNULL()函数
IFNULL(expr1, expr2)
如果 value1 为 null 返回 expr2 的值,否则返回 expr1 的值。
CASE-WHEN 语法有两种格式
格式一:
CASE WHEN expr1_condition THEN expr1_result WHEN expr2_condition THEN expr2_result ... [ELSE expr_result] END
示例:
SELECT CASE WHEN 1 < 0 THEN '1小于0' WHEN 1 = 0 THEN '1等于0' WHEN 1 > 0 THEN '1大于0' END AS '测试' FROM DUAL;
格式二:
CASE expr WHEN expr1 THEN result1 WHEN expr2 THEN result2 ... [ELSE result] END
示例:
SELECT CASE 2 WHEN 1 THEN 'ONE' WHEN 2 THEN 'TWO' WHEN 3 THEN 'THREE' END AS '测试' FROM DUAL;