SQL中 CASE WHEN 使用
admin
2023-05-21 15:02:25
0

一、NULL 值判断

1.判断空值,不成功

select case 字段名 
       when null   then '空值'  
       else '非空值'  
       END  as 字段别名 
from   表  

2.判断空值,成功

select case  
        when 字段名 IS NULL   then '空值'  
        when 字段名 ='OK'    then 'OK值'
        else '非空值'  
        END  字段别名
from   表  

二、把 If 语句改为 Case when

先看看使用 if 语句的写法:

    declare @SelDD smalldatetime,@SelHH tinyint
    set @SelDD=cast(convert(varchar(19),Getdate(),111) as smalldatetime)
    set @SelHH=datepart(hour,Getdate())  

        if @SelHH=0
    begin
        select H0 from 表 
    end else
    if @SelHH=1
    begin
        select H1 from 表 
    end
    if @SelHH=2 
    begin
        select H2 from 表 
    end
    if @SelHH=3
    begin
        select H3 from 表 
    end
    if @SelHH=4
    begin
        select H4 from 表 
    end
    if @SelHH=5
    begin
        select H5 from 表 
    end
    if @SelHH=6
    begin
        select H6 from 表 
    end
    if @SelHH=7
    begin
        select H7 from 表 
    end
    if @SelHH=8
    begin
        select H8 from 表 
    end
    if @SelHH=9
    begin
        select H9 from 表 
    end
    if @SelHH=10
    begin
        select H10 from 表 
    end
    if @SelHH=11
    begin
        select H11 from 表 
    end
    if @SelHH=12
    begin
        select H12 from 表 
    end
    if @SelHH=13
    begin
        select H13 from 表 
    end
    if @SelHH=14
    begin
        select H14 from 表 
    end
    if @SelHH=15 
    begin
        select H15 from 表 
    end
    if @SelHH=16
    begin
        select H16 from 表 
    end
    if @SelHH=17 
    begin
        select H17 from 表 
    end
    if @SelHH=18
    begin
        select H18 from 表 
    end
    if @SelHH=19
    begin
        select H19 from 表 
    end
    if @SelHH=20
    begin
        select H20 from 表 
    end
    if @SelHH=21
    begin
        select H21 from 表 
    end
    if @SelHH=22
    begin
        select H22 from 表 
    end
    if @SelHH=23
    begin
        select H23 from 表 
    end

再把上面的语句改为case when end:

select case @SelHH 
                    when 0  then H0
                    when 1  then H1
                    when 2  then H2
                    when 3  then H3
                    when 4  then H4
                    when 5  then H5
                    when 6  then H6
                    when 7  then H7
                    when 8  then H8
                    when 9  then H9
                    when 10 then H10
                    when 11 then H11
                    when 12 then H12
                    when 13 then H13
                    when 14 then H14
                    when 15 then H15
                    when 16 then H16
                    when 17 then H17
                    when 18 then H18
                    when 19 then H19
                    when 20 then H20
                    when 21 then H21
                    when 22 then H22
                    when 23 then H23
                end
            from 数据表

相关内容

热门资讯

抽水马桶水箱不进水的解决办法 步骤一、准备小刷子或是其他清洁工具;步骤二、打开水箱盖子;步骤三、将水箱的堵塞和污渍清理干净;步骤四...
马桶抽水后不停的流水怎么办 解决方法:水箱材质的问题,将马桶水箱拆分开来,一个一个逐一进行检查看是马桶水箱里面的零件是否完好,及...
马桶后面的抽水泵坏了怎么办 换一个新的。方法:先将坏的抽水泵拆卸下,把水箱下方的进水关闭,再通过扳手,一只手扶着水箱当中的进水阀...
冰箱生蛆冰箱还能要吗 可以要的,生蛆的原因是食物存放太久导致腐烂,以及冰箱温度调节有误;冰箱保鲜室的温度要控制在0~10度...
吕美拉门多少钱可以买到- 回复者:安徽富邦装饰工程设计有限公司 安徽富邦装饰为您解答 门的话看尺寸,看您选的材料,不同的材料价...
邯郸中院通报“女子信访遭执行局... 8月4日,河北邯郸市中级人民法院发布情况通报:针对网上反映丛台区人民法院执行局局长郭红波相关问题,我...
蓝凌星通完成数千万元股权融资,... 北京蓝凌星通科技有限公司(简称:蓝凌星通)是专注卫星通信硬科技研发的企业,以自主研发的"超低功耗终端...
嫦娥六号月壤新发现:月球正面、... 观点网讯:2026年7月,我国科研团队依托嫦娥六号带回的1935克月背土壤样本,给出了部分答案。 团...
AI接连推翻数学猜想,人类还能... “本届菲尔兹奖,将是人类最后一次拿下这项数学最高荣誉?”这个论断你相信吗?在王虹、邓煜历史性拿下菲尔...
全球AI大抛售,泡沫破了吗? 今年,“最好的夏天”无疑也是“最残酷的夏天”。 全球人工智能主题大抛售——在美股市场,科技股暴跌,“...