Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:
IF表达式
复制代码 代码如下:
IF(expr1,expr2,expr3)
复制代码 代码如下:
select *,if(sva=1,"男","女") as ssva from taname where sva != ""
复制代码 代码如下:
select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''
例如:
复制代码 代码如下:
SELECT CASE 1 WHEN 1 THEN 'one'
WHEN 2 THEN 'two'
ELSE 'more' END
as testCol
IFNULL(expr1,expr2)
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
复制代码 代码如下:
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10