zoukankan      html  css  js  c++  java
  • 50_流程控制函数-case结构

    case函数的使用一:switch case 的效果

    /*

    Java中

    switch(变量或表达式){

        case 常量1语句1:break;

        ...

        default:语句n;break;

    }

    MySQL中

    case 要判断的字段或表达式         #将switch替换成case

    when 常量1 then 要显示的值1或语句1;    #将case替换成when,将:替换成then

    when 常量2 then 要显示的值2或语句2;

    ...

    else 要显示的值n或语句n;           #else替换为default,表示默认情况

    end                 #判断的是值

    */

    /*案列:查询员工的工资,要求:

    部门号=30,显示的工资为1.1倍

    部门号=40,显示的工资为1.2倍

    部门号=50,显示的工资为1.3倍

    其他部门,显示的工资为原工资

    */

    select salary 原始工资,department_id,

    case department_id

    when 30 then salary*1.1

    when 40 then salary*1.2

    when 50 then salary*1.3

    else salary

    end as 新工资

    from employees;

    case函数的使用二:类似于 多重if

    /*

    Java中:

    if(条件1){

      语句 1;

    }else if(条件二){

      语句2:

    }

    ...

    else{

      语句n;

    }

    MySQL中:

    case

    when 条件1 then 要显示的值1或语句1

    when 条件2 then 要显示的值2或语句2

    ...

    else 要显示的值n或语句n

    end                   #判断的是区间

    */

    #案列:查询员工的工资情况

    如果工资>20000,显示‘A’级别

    如果工资>15000,显示‘B'级别

    如果工资>10000,显示’C'级别

    否则,显示‘D’级别

    select salary,
    case
    when salary>20000 then 'A'
    when salary>15000 then 'B'
    when salary>10000 then 'C'
    else 'D'
    end as Grade
    from employees;

    总结:case一般要搭配着查询来用,即:要放在关键字select后面,相当于一个表达式

  • 相关阅读:
    assert的使用
    网络性能测试工具iperf的注意事项
    sskykeygen + sshcopyid避免ssh/scp每次输入密码
    遗留系统维护的思考
    IList(T)转换DataSet
    可扩展性(Extensibility): 构建灵活系统的思考
    页面加一个"数据正在载入,请等待... Loading, please wait..."的提示
    优化JavaScript
    创业与老子的顺其自然
    实用正则表达式匹配和替换
  • 原文地址:https://www.cnblogs.com/tan-y-q/p/10480992.html
Copyright © 2011-2022 走看看