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
每天一点点。。。