DECLARE @score INT = 100, @res NCHAR(1)
SET @res =
CASE
WHEN (@score >=90) THEN 'A'
WHEN (@score >= 80) THEN 'B'
WHEN (@score >=70) THEN 'C'
WHEN (@score >=60) THEN 'D'
ELSE 'F'
END
PRINT '점수 : '+CAST(@score AS CHAR(3))
PRINT N'학점: '+@res
다중 IF문보다 간결한 것을 볼 수 있다.
WHILE 조건 BEGIN SQL 명령문... END
DECLARE @i INT = 1, @sum INT = 0
WHILE (@i <=100)
BEGIN
SET @sum += @i
SET @i += 1
PRINT @sum;
END
DECLARE @i INT = 1, @sum INT = 0
WHILE (@i <=100)
BEGIN
IF(@i %3 =0)
BEGIN
PRINT '3의 배수: ' + CAST(@i AS CHAR(3))
SET @i += 1
CONTINUE
END
SET @sum += @i
IF(@sum > 2000) BREAK
SET @i += 1
END
PRINT '합계: ' + CAST(@sum AS CHAR(10))
WHILE
문이 수행될 때 1, 2, 3, 4, 5, 6 중3
,6
에서만 PRINT '3의 배수: '가 실행되고 다른 값들은 계속해서 @sum에 누적되어 더해진다.
강의: ms sql 2014 제대로 배우기 2