• Mysql-case when 使用


    一、case 使用场景

    1.1 简单函数

    CASE case_value
        WHEN when_value THEN statement_list
        [WHEN when_value THEN statement_list] ...
        [ELSE statement_list]
    END CASE

    1.2 case搜索函数

    
    
    CASE
        WHEN search_condition THEN statement_list
        [WHEN search_condition THEN statement_list] ...
        [ELSE statement_list]
    END CASE

    二、使用示例

    2.1 简单case函数

    
    
    case `gender`
      when 1 then ''
      when 2 then ''
      else '未知'
    end

    2.2 case搜索函数

    
    
    case 
        when gender = 1 then ''
        when gender = 2 then ''
        else '未知' 
    end

    准备数据如下


    create table if not exists test_user(
      `id` bigint(20) not null AUTO_INCREMENT comment '主键自增ID',
      `name` varchar(64) not null comment '姓名',
      `gender` integer not null comment '性别,1: 男, 2: 女',
      `country_code` integer not null comment '所属国家CODE',
      primary key (`id`)
    ) charset = 'utf8mb4' comment '测试表';
    

    一张参照表

    国家country_code
    中国 100
    美国 110
    法国 120
    雪国 其他

    INSERT INTO `test_user` (`name`, `gender`, `country_code`)
    VALUES 
      ('清风', 1, 100), 
      ('玄武', 2, 100), 
      ('Kobe', 1, 110), 
      ('John Snow', 1, 200), 
      ('Peut-être', 0, 120);
    

    三、实战示例

    3.1 使用case简单函数

    
    
    select `id`, `name`, `gender`, 
    (case `gender`
    when 1 then ''
    when 2 then ''
    else '未知'
    end) as '性别',
    `country_code`
    from test_user;
    
    
    
    
    简单case查询结果.png

    3.2 使用case搜索函数查询

    
    
    select id, `name`, gender, 
    (case 
    when gender = 1 then ''
    when gender = 2 then ''
    else '未知' 
    end) as '性别', 
    country_code,
    (case 
    when country_code = 100 then '中国'
    when country_code = 110 then '英国'
    when country_code = 120 then '法国'
    else '雪国' 
    end) as '国籍'
    from test_user;
    
    
     
    搜索函数查询结果.png
    来自雨中上人的文章
  • 相关阅读:
    java获取web项目下文件夹的路径方法
    The method setCharacterEncoding(String) is undefined for the type HttpServletResponse
    java获取windows和linux下本机ip通用方法
    mysql慢查询日志查找与分析
    struts1 action之间的跳转
    jquery的tap会执行2次的替换办法
    Win7下如何安装切换jdk7和jdk8
    elasticdump
    python hive.py
    Hdfs数据备份
  • 原文地址:https://www.cnblogs.com/qize/p/12803299.html
Copyright © 2020-2023  润新知