1 IF…ELSE
其语法如下:
IF
[ELSE [条件表达式]
]
其中可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。
ELSE子句是可选的,最简单的IF语句没有ELSE子句部分。IF…ELSE用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。
如果不使用程序块,IF或ELSE只能执行一条命令。IF…ELSE可以进行嵌套。
Eg:
declare @x int, @y int, @z int
select @x=1, @y=2, @z=3
if @x>@y
print'x>y'
else if @y>@z
print'y>z'
else
print'z>y'
运行结果如下
z>y
注意:在Transact-SQL中最多可嵌套32级。
2. CASE
CASE 命令有两种语句格式:
2.1
CASE
WHEN THEN
…
WHENTHEN
[ELSE]
END
CASE
WHEN THEN
WHEN THEN
[ELSE ]
END
Eg:
调整员工工资,工作级别为“1”的上调8%,工作级别为“2”的上调7%,工作级别为“3”的上调6%,其它上调5%。
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end
3. WHILE
其语法如下:
WHILE 命令在设定的条件成立时会重复执行命令行或程序块。
Eg:
declare @x int, @y int
select @x = 1, @y=1
while @x<5
begin
set @y= @x*2 +@y
print @y
set @x= @x+1
end
评论 想第一时间抢沙发么?