当前位置:   article > 正文

MySQL中IF()、IFNULL()、NULLIF()、ISNULL()、CASE函数的使用详解_mysql if

mysql if

1、IF()函数的使用

IF函数根据判断条件是否成立进行选择执行,成立时执行一条语句,不成立时执行另一条语句

语法结构:

IF(condition, value_if_true, value_if_false)

参数说明

condition: 判断条件

value_if_true: 如果condition的结果为TRUE,返回该值

value_if_false: 如果condition的结果为FALSE,返回该值

举例:

SELECT id, name,
       IF(age<18,'未成年','成年')AS '是否成年'
FROM student;

2、IFNULL()函数的使用

IFNULL(expr1,expr2),如果expr1的值为null,则返回expr2的值,如果expr1的值不为null,则返回expr1的值。

SELECT   IFNULL(1,0);  -- 输出结果:1   
SELECT   IFNULL(NULL,10); -- 输出结果:10   
SELECT   IFNULL(1/0,10);  -- 输出结果:10   
SELECT   IFNULL(1/0,'yes'); -- 输出结果:'yes' 
SELECT   IFNULL(NULL,'B');    -- 输出结果:B
SELECT   IFNULL('Hello','B'); -- 输出结果:Hello

3、NULLIF()函数的使用

NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。

SELECT NULLIF('A','A');     -- 输出结果:null
SELECT NULLIF('A','B');     -- 输出结果:A

4、ISNULL()函数的使用

ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。

SELECT ISNULL(NULL);        -- 输出结果:1
SELECT ISNULL('HELLO');     -- 输出结果:0

5、CASE函数的使用

语法结构1:

CASE 
  WHEN expr1
  THEN value1
  WHEN expr2
  THEN value2
  ...
  ELSE valueN
END

CASE表示函数开始,END表示函数结束。如果expr1成立,则返回value1,如果expr2成立,则返回value2,当全部不成立则返回valueN,而当有一个成立之后,后面的就不执行了。

举例:

SELECT CASE 
  WHEN 1 > 0
  THEN '1 > 0'
  WHEN 2 > 0
  THEN '2 > 0'
  ELSE '3 > 0'
  END
#输出结果:1 > 0

语法结构2:

CASE expr 
  WHEN e1 THEN value1
  WHEN e2 THEN value2
  ...
  ELSE valueN
END

如果表达式expr的值等于e1,返回value1;如果等于e2,则返回value2。否则返回valueN

举例:

SELECT CASE xfflag 
  WHEN 1 THEN '结算账目'
  WHEN 2 THEN '消费账目'
ELSE '类型不对'
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/873537
推荐阅读
相关标签
  

闽ICP备14008679号