SQL Server判断语句(IF ELSE CASE WHEN )


SQL Server判断语句(IF ELSE/CASE WHEN )

执行顺序是 – 从上至下 – 从左至右 --,所当上一个条件满足时(无论下面条件是否满足),执行上个条件,当第一个条件不满足,第二个条件满足时,执行第个二条件


1、IF ELSE

不能用在SELECT中,只能是块 ,比如:

IF …

BEGIN

…( 代码块

END

ELSE ( 注意这里没有ELSE IF,要实现只能在下面的块中用IF判断

BEGIN

…( 代码块

END

列:

  • declare @num int --定义变量
    set @num=1 --赋值变量
    if (@num>10)
    begin
    select from 表1
    end
    else
    begin
    if(@num<0)
    select Top(20)
    from 表2
    else
    print @num
    end

2、CASE WHEN THEN ELSE END

可以在SELECT中使用,但是要包括END结尾

CASE …

WHEN … ( 条件/代码块 ) THEN …( 返回值/case when then else end

ELSE …( 可省略

END

列:

  • declare @num int --定义变量
    set @num=111 --赋值变量
    select @num,
    case
    when @num<=100 then case
    when @num>=80 then ‘A’
    when @num>=60 then ‘B’
    else ‘C’ end
    when @num>=200 then ‘优秀’
    else ‘haha’
    end

SQL Server判断语句(IF ELSE CASE WHEN )介绍到这里,更多sql学习请参考编程字典sql教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://blog.csdn.net/weixin_43488965/article/details/89922467?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163344082016780269823152%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=163344082016780269823152&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-15-89922467.pc_v2_rank_blog_default&utm_term=sql&spm=1018.2226.3001.4450