分支结构if ...else

语法

if(条件)

  begin

    语句或语句块1

  end

[else

  begin

    语句或语句块2

  end

]

特点

1,else并不一定是必须的

2,如果条件为真,将执行语句或语句块1,条件为假则执行语句或语句块2,无论哪种情况,最后都要执行if....else语句的下一条语句

3,if---else可以嵌套

4,如果只有一条语句begin...end可以省略

例子、

--【1】简单的if...else结构举例
declare @x int , @y int --声明两个Int类型的变量
select @x=10, @y=15 --使用select可以一次性为多个变量赋值,中间使用英文的逗号分隔
--使用if...else结构根据判断的结果进行输出
if(@x>=@y)
begin
print'@x大于或等于@y'
print ' '
end
else
print'@x小于@y'
print '程序结束了' --既不属于if也不属于else,是分支结构后的代码
--1,只有一句语句省略了begin...end
--2,如果代码超过一句就必须加上begin...end
--3,无论条件成立与否都将执行if...else结果后的代码

--if...else在sql语句中使用
--在订单表中查看xiangxiang最近一次的消费金额,如果消费金额就赠送五元红包否则就赠送一元红包

--?消费金额是多少?根据消费金额判断是否大于100,
--【1】声明变量用于保持最近的下单时间和付款金额
declare @date datetime, @PayMoney money
--[2]根据用户名查询最近的一次下单时间赋值给变量@date
select @date = max(OrderTime) from OrderInfo where UserId='xiangxiang'
--[3]根据最近的下单时间和用户名查询消费金额
select @PayMoney= ParMoney from OrderInfo where OrderTime=@date and UserId='xiangxiang'

--[4]使用if...else结构,根据消费金额的多少来输出相应的红包
if(@PayMoney>100)
begin
print'消费金额为:' + convert(varchar(5),@PayMoney)
print'消费金额大于100元赠送5元红包'
end
else
begin
print'消费金额为:' + cast(@PayMoney as varchar(5))
print'消费金额没有大于100元。所以只能得到1元红包'
end
go

猜你喜欢

转载自www.cnblogs.com/zhangxudong-cnblogs/p/10872544.html