条件函数
#如果表达式expr1成立,返回结果expr2,否则,返回结果expr3:if(expr1, expr2, expr3)。
SELECT IF(1, '正确', '错误') ;
#如果expr1的值不为NULL,则返回expr1,否则返回expr2:IFNULL(expr1, expr2)。
SELECT IFNULL(NULL, 'MySQL Study') ;
#比较两个字符串:NULLIF(expr1, expr2)。
SELECT NULLIF(2025, 2025), NULLIF('MySQL', 20) ;
#返回参数中的第一个非空表达式(从左向右):COALESCE(value, ...)。
SELECT COALESCE(NULL, NULL, 'MySQL', NULL, 'Study') ;
#判断:CASE
/*
CASE
WHEN [ test1 ] THEN [ result1 ]
…
ELSE [ DEFAULT ]
END ;
CASE [ test ]
WHEN [ val1 ] THEN [ result ]
…
ELSE [ DEFAULT ]
END ;
*/
SELECT
CASE 1
WHEN 0 THEN 'Study'
WHEN 1 THEN 'MySQL'
ELSE 'Good'
END ;
SELECT
CASE
WHEN 0 THEN 'Study'
WHEN 1 THEN 'MySQL'
ELSE 'Good'
END ;
CASE表示函数开始,END表示函数结束。如果condition1成立,则返回result1,如果condition2成立,则返回result2,当全部不成立则返回result,而当有一个成立之后,后面的就不执行了。