zoukankan      html  css  js  c++  java
  • 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
    来自雨中上人的文章
  • 相关阅读:
    查询SQL数据库中表占用资源情况的语句
    修改VMware网卡MAC的方法
    Ajax 与 .net Validator
    控件属性值绑定到数据
    一个设计的小例子警察抓小偷
    加密Web.config 文件中的敏感信息
    VS .Net 2005程序集换名之后的遗留问题
    为ASP.Net 创建和配置应用程序服务数据库
    ArcGIS 9.0 在Windows XP SP2 上安装的问题(数据保护造成的)
    使用客户端脚本
  • 原文地址:https://www.cnblogs.com/qize/p/12803299.html
Copyright © 2011-2022 走看看