zoukankan      html  css  js  c++  java
  • SQL – 10.流程函数

    空值处理函数

    ISNULL(expression,value) :如果expression不为空则返回expression,否则返回value。

    SELECT ISNULL(FName,'佚名') as 姓名 FROM T_Employee 

    Case 函数用法

    • (1)单值判断,相当于switch case
      CASE expression
      WHEN value1 THEN returnvalue1
      WHEN value2 THEN returnvalue2
      WHEN value3 THEN returnvalue3
      ELSE defaultreturnvalue
      END

    T_Customer表

    image

    例子

    select Fname,
    (
    case Flevel
    when 1 then '普通客户'
    when 2 then '会员'
    when 3 then 'vip'
    else '游客'
    end 
    ) as 客户类型
    from T_Customer

    image

    • (2)相当于if…else…else….
      CASE
      WHEN condition1 THEN returnvalue1
      WHEN condition 2 THEN returnvalue2
      WHEN condition 3 THEN returnvalue3
      ELSE defaultreturnvalue
      END

    例子:

    image

    image

    练习1:

    表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

     

    练习2:

    单号   金额
    Rk1     10
    Rk2     20
    Rk3     -30
    Rk4     -10
    将上面的表输出为如下的格式:
    单号   收入   支出
    Rk1     10       0
    Rk2     20       0
    Rk3      0        30
    Rk4      0        10

    练习3:

    有一张表T_Scores,记录比赛成绩
    Date                 Name   Score 
    2008-8-8          拜仁       胜
    2008-8-9          奇才       胜
    2008-8-9          湖人       胜
    2008-8-10        拜仁       负
    2008-8-8          拜仁       负
    2008-8-12        奇才       胜
    要求输出下面的格式:
    Name   胜     负
    拜仁   1 2
    湖人   1 0
    奇才   2 0
    数据和参考答案见备注
    注意:在中文字符串前加N,比如N’胜’

    答案:

    1.

    select (case when a>b then a else b 
    end),(case when b>c then b else c end ) 
    from t 

    2.

    select ID,(case when money <0 then 0 else money end) AS 收入,(case when money >0 then 0 else abs(money) end) as 支出  from T_Bill
    

    image

    3.

    select Name,sum(case when score ='胜' then 1 else 0 end) as '胜',
    sum(case when score = '负' then 1 else 0 end) as '负' 
    from T_bascketball 
    group by name

    image

  • 相关阅读:
    缺陷管理、分类、提交
    selenium2.0处理case实例(二)
    Robot Framework自动化测试(六)--- robotremoteserver使用
    Robot Framework自动化测试(五)--- 开发系统关键字
    Robot Framework自动化测试(四)--- 分层思想
    Robot Framework自动化测试(三)---Selenium API
    Robot Framework自动化测试(二)---元素定位
    Robot Framework自动化测试(一)---第一个脚本
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    Python 基于http接口自动化测试
  • 原文地址:https://www.cnblogs.com/tangge/p/2489253.html
Copyright © 2011-2022 走看看