• SQL中关键字Case的使用


    本文非原创

    它主要用来简化SQL表达式,在任何允许使用表达式的地方均可使用,
    根据条件的不同返回不同的值。

    注意:它不能单独执行,只能作为语句的一部分使用,
    分为简单 case 表达式和搜索 case 表达式。

    1.简单 case 表达式:

    它是一个测试表达式与一组简单表达式进行比较,如果和某一个值相等,
    则返回对应表达式的值。


    语法: case 表达式 / 列名变量
    when 测试值1 then 结果表达式1
    when 测试值2 then 结果表达式2
    ……
    else 结果表达式
    end

    例:(1)select 姓名=case book_name
    when '++c' then 'c语言'
    when 'hello' then 'hahaha'
    when 'hello1' then 'sdf'
    when 'hello2' then 'haasdfghaha'
    else '没有值'
    end from yuesubiao

    (2)declare @aa varchar(10)
    set @aa=(select egg_name from egg where egg_shu=14)
    select case @aa
    when 'hhh' then '1111'
    when 'll' then '222'
    else'aaaaaaaaaaaaaaa'
    end



    2.搜索 case 表达式:

    它是一个测试表达式与一组搜索布尔表达式进行比较,
    如果和某一个值相等,则返回对应表达式的值。


    语法: case
    when 布尔表达式1 then 结果表达式1
    when 布尔表达式2 then 结果表达式2
    ……
    else 结果表达式
    end

    例: (1) select egg_name,egg_liang,所得税=
    case
    when (egg_zhong<=500) then '1111111'
    when (egg_zhong<=5000) then'222222'
    when (egg_zhong<=50000) then'33333333'
    else'444444'
    end
    from egg

    (2) select book_name,www=
    case
    when left(ltrim(book_addr),3)='hgf' then '123'
    when left(ltrim(book_addr),3)='hhh' then '456'
    when left(ltrim(book_addr),3)='456' then '789'
    else'AAAAAAAA'
    end
    from YI

    下面博文讲了Case的常见使用情况,很不错。

    http://www.cnblogs.com/Ronin/archive/2006/07/20/455388.html#2810859

    http://www.cnblogs.com/Ronin/archive/2006/07/20/455756.html

  • 相关阅读:
    latex插入图片
    装virtualenv和flask
    GitHub Pages写博客
    用模拟退火算法进行特征选择
    用遗传算法进行特征选择
    智能垃圾桶
    蚁群算法 与 A*算法 寻找最优路径 对比 (pygame)
    pygame
    pyinstaller打包python应用程序
    内网渗透之信息收集-linux
  • 原文地址:https://www.cnblogs.com/xieyuanzheng/p/5597050.html
Copyright © 2020-2023  润新知