栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql之if和when函数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql之if和when函数

IF表达式
  1. IF(expr1,expr2,expr3)

如果 expr1 是TRUE ,则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。if语句还可以相互嵌套,如下

  1. IF(IF(expr1,expr2,expr3),expr2,expr3)

可以多层嵌套使用,多个判断语句

题目

使用if解决:

SELECt 
    device_id, gender, 
    IF(age IS NULL , '其他',
      IF(age < 20, '20岁以下',
        IF(age BETWEEN 20 AND 24, '20-24岁', '25岁及以上'))) AS age_cut // 三层嵌套
FROM
    user_profile;
WHEN表达式
  1. 用法一
CASE 
    WHEN 条件判断 THEN 结果
    ......
    WHEN 条件判断 THEN 结果
    ELSE 其他结果
END 

ELSE就是java当中的default

上面那个图使用when解法

SELECt 
    device_id, gender, 
CASE 
    WHEN age < 20 THEN '20岁以下'
    WHEN age < 25 THEN '20-24岁'
    WHEN age >= 25 THEN '25岁及以上'
    ELSE '其他'
END 
AS age_cut
FROM
    user_profile;
  1. 方法二
CASE 列值
    WHEN 值1 THEN 结果1
    ......
    WHEN 值2 THEN 结果2
    ELSE 其他结果
END 

举例
把性别改成男/女

SELECt 
CASE gender
  WHEN 'male' THEN '男'
  WHEN 'female' THEN '女'
  ELSE '其他'
END AS gender
FROM 
user_profile;
if和when联合使用

when的第一种用法和if可以联合使用

WHEN 条件判断 THEN 结果 ,其中条件判断可以改为if

参考
MySQL if 语句用法
mysql中的when的用法_MySQL数据库之Mysql casewhen的三种用法

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851205.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号