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

前:转自[https://blog.csdn.net/weixin_43488965/article/details/89922467]

写的很好,转过来收藏


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
  1. 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

————————————————
版权声明:本文为CSDN博主「我家喵叫长生」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:[https://blog.csdn.net/weixin_43488965/java/article/details/89922467]

原文地址:https://www.cnblogs.com/fmy-hmfy/p/12772309.html