mysql中的流程控制语句小结
mysql中有如下的几个的控制流程的语句:
1) case
// Below will return zero
SELECT CASE 0 WHEN 0 THEN 'zero' WHEN 1 THEN 'one' ELSE 'no one' END;
// Below will return true
SELECT CASE WHEN 5>2 THEN 'true' ELSE 'false' END;
2)if 语句
SELECT IF(expr1,expr2,expr3);
// return yes
SELECT IF(1<5,'yes','no');
有三个参数,如果第1个表达式返回true,则返回表达式2,否则返回表达式3
3) ifnull
SELECT IFNULL(expr1, expr2);
如果 expr1不为null,则返回expr1,如果expr1为null,则返回expr2
// Return 5
SELECT IFNULL(5,0);
// Return 10
SELECT IFNULL(NULL,10);
4)nullif
SELECT NULLIF(expr1,expr2);
如果表达式1=表达式2,则返回null,否则返回第1个表达式
SELECT NULLIF(expr1,expr2);
// Return NULL
SELECT NULLIF(5,5);
// Return 10
SELECT NULLIF(10,4);