DECLARE @age INTSELECT @age = 15IF @age > 10 BEGIN PRINT '年龄大于'+ CAST(@age AS VARCHAR(5)) SELECT name,age FROM employee WHERE age > @age ENDELSE BEGIN PRINT '年龄小于等于' + CAST(@age AS VARCHAR(5)) SELECT name,age FROM employee WHERE age <= @age END
三、WHILE 语句
DECLARE @i INT,@j INT,@tmp VARCHAR(100)SET @i = 1SET @j = 1SET @tmp = ''PRINT '打印9*9乘法表'WHILE @i <= 9 BEGIN WHILE @j <= 9 BEGIN SET @tmp = @tmp + ' ' + CAST(@i*@j AS CHAR(2)) SET @j = @j + 1 END PRINT @tmp SET @tmp = '' SET @j = 1 SET @i = @i + 1 END
四、CASE 语句
-- CASE 等于判断,相当于枚举SELECT name,CASE dept_id WHEN 1 THEN '总经理办公室' WHEN 2 THEN '人力资源部' WHEN 3 THEN '行政部' WHEN 4 THEN '财务部' WHEN 5 THEN '销售部' WHEN 5 THEN '技术研发部' ELSE '其他部门' END AS deptFROM employee-- CASE WHEN 带条件DECLARE @num INT,@output NVARCHAR(10)SET @num = 19SET @output = CASE WHEN @num < 8 THEN '一个数小于 8' WHEN @num = 10 THEN '这个数是 10' WHEN @num / 3 = 0 THEN '这个数能被3整除' ELSE '这个数不在设定条件内' ENDPRINT @output
五、GOTO 语句
PRINT '执行第一句'GOTO labelPRINT '执行第二句'label: BEGIN PRINT '跳转到 LABEL 语句' PRINT 'GOTO 语句容易出现死循环' END