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

打印 上一主题 下一主题

主题 1846|帖子 1846|积分 5538

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1、IF()函数的使用

IF函数根据判断条件是否成立进行选择执行,成立时执行一条语句,不成立时执行另一条语句
语法布局:
  1. IF(condition, value_if_true, value_if_false)
复制代码
参数说明
condition: 判断条件
value_if_true: 如果condition的结果为TRUE,返回该值
value_if_false: 如果condition的结果为FALSE,返回该值
举例:
  1. SELECT id, name,
  2.        IF(age<18,'未成年','成年')AS '是否成年'
  3. FROM student;
复制代码
2、IFNULL()函数的使用

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

  1. SELECT   IFNULL(1,0);  -- 输出结果:1   
  2. SELECT   IFNULL(NULL,10); -- 输出结果:10   
  3. SELECT   IFNULL(1/0,10);  -- 输出结果:10   
  4. SELECT   IFNULL(1/0,'yes'); -- 输出结果:'yes'
  5. SELECT   IFNULL(NULL,'B');    -- 输出结果:B
  6. SELECT   IFNULL('Hello','B'); -- 输出结果:Hello
复制代码

3、NULLIF()函数的使用

NULLIF(expr1,expr2),如果expr1=expr2成立,那么返回值为null,否则返回值为expr1的值。
  1. SELECT NULLIF('A','A');     -- 输出结果:null
  2. SELECT NULLIF('A','B');     -- 输出结果:A
复制代码
4、ISNULL()函数的使用

ISNULL(expr),如果expr的值为null,则返回1,如果expr1的值不为null,则返回0。
  1. SELECT ISNULL(NULL);        -- 输出结果:1
  2. SELECT ISNULL('HELLO');     -- 输出结果:0
复制代码
5、CASE函数的使用

语法布局1:

  1. CASE
  2.   WHEN expr1
  3.   THEN value1
  4.   WHEN expr2
  5.   THEN value2
  6.   ...
  7.   ELSE valueN
  8. END
复制代码

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

  1. SELECT CASE
  2.   WHEN 1 > 0
  3.   THEN '1 > 0'
  4.   WHEN 2 > 0
  5.   THEN '2 > 0'
  6.   ELSE '3 > 0'
  7.   END
  8. #输出结果:1 > 0
复制代码

语法布局2:

  1. CASE expr
  2.   WHEN e1 THEN value1
  3.   WHEN e2 THEN value2
  4.   ...
  5.   ELSE valueN
  6. END
复制代码

如果表达式expr的值等于e1,返回value1;如果等于e2,则返回value2。否则返回valueN
举例:
  1. SELECT CASE xfflag
  2.   WHEN 1 THEN '结算账目'
  3.   WHEN 2 THEN '消费账目'
  4. ELSE '类型不对'
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表