zoukankan      html  css  js  c++  java
  • sql控制流if()、case when then

    tb_user:

    1、if (expr1,expr2,expr3)           #如果expr1成立,则返回expr2,否则返回expr3
    示例:
    select  name, if (sex=1,'男','女')  sex  from  tb_user        #如果sex是1,sex查询结果返回‘男’,否则返回‘女’

    2、ifnull(expr1,expr2)              #如果expr1不为null,则返回expr1,否则返回expr2
    示例:
    select  name  姓名, ifnull(sex, '其他')  sex  from  tb_user            #如果sex是null,则返回‘其他;sex不是null,则正常返回

    3、case  column_name  when  expr1  then  result1  else  result2  end
    #如果column_name是1,sex查询结果返回‘男’,否则返回‘女’
    示例:
    select  name  名字,  case  sex  when  1  then   '男'   else   '女'   end   性别  from  tb_user
    #如果sex是1,sex查询结果返回‘男’,否则返回‘女’

    4、case  column_name  when  expr1  then  result1  when  expr2  then  result2  end
    #如果column_name是expr1返回result1,如果column_name是expr2返回result2,when * then *可以写多个,end 表示结束
    示例1:
    select   name  名字,  case  sex  when  1  then  '男'   when  2  then  '女'  end  性别  from   tb_user
    #如果sex是1,sex查询结果返回‘男’;sex是2,sex查询结果返回‘女’

    示例2(多条件):
    select  name  名字, case  sex  when  1  then  '男'  when  2  then  '女'  end  性别,  case  when  age<=16   then  '未成年'   when  age>16   and   age<=30   then  '青年'   when   age>30  and   age<=50  then   '壮年'   else   '老年'   end   年龄   from   tb_user
    #年龄小于等于16显示为‘未成年’;年龄大于16且小于等于30显示为‘青年’;
    #年龄大于30且小于等于50显示为‘壮年’;年龄大于50显示为‘老年’;

  • 相关阅读:
    poj 1149 最大流
    poj 3281 最大流建图
    lightoj 1300 边双联通分量+交叉染色求奇圈
    lightoj 1291 无向图边双联通+缩点统计叶节点
    lightoj 1063 求割点
    lightoj 1026 无向图 求桥
    lightoj 1407 2-sat
    lightoj 1251 (Two_Sat)
    hdu 4681 最长公共子序列+枚举
    OD汇编需要标签
  • 原文地址:https://www.cnblogs.com/whitemouseV2-0/p/10976828.html
Copyright © 2011-2022 走看看