Microsoft SQL Server
다른 경우라면
수색…
단일 IF 문
대부분의 다른 프로그래밍 언어와 마찬가지로 T-SQL은 IF..ELSE 문도 지원합니다.
예를 들어, 아래 예제에서 1 = 1
은 True로 평가되고 컨트롤은 BEGIN..END
블록에 들어가고 Print 문은 'One is equal to One'
IF ( 1 = 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
여러 IF 문
여러 개의 IF 문을 사용하여 여러 개의 표현식을 완전히 독립적으로 검사 할 수 있습니다.
아래 예제에서는 각 IF
문의 표현식이 평가되고, 참이면 BEGIN...END
블록의 코드가 실행됩니다. 이 특정 예에서 First 및 Third 표현식은 true이고 해당 인쇄 명령문 만 실행됩니다.
IF (1 = 1) --<-- Some Expression --<-- This is true
BEGIN
PRINT 'First IF is True' --<-- this will be executed
END
IF (1 = 2) --<-- Some Expression
BEGIN
PRINT 'Second IF is True'
END
IF (3 = 3) --<-- Some Expression --<-- This true
BEGIN
PRINT 'Thrid IF is True' --<-- this will be executed
END
단일 IF..ELSE 문
단일 IF..ELSE
문에서 IF
문에 BEGIN..END
이 True로 평가되면 컨트롤은 첫 번째 BEGIN..END
블록에 들어가고 해당 블록 안의 코드 만 실행되고 다른 블록은 무시됩니다.
반면 표현식이 False
평가되면 ELSE BEGIN..END
블록이 실행되고 컨트롤은 첫 번째 BEGIN..END
블록으로 들어 가지 않습니다.
아래 예제에서 표현식은 false로 평가되고 Else 블록은 'First expression was not true'
문자열을 인쇄하여 실행됩니다.
IF ( 1 <> 1) --<-- Some Expression
BEGIN
PRINT 'One is equal to One'
END
ELSE
BEGIN
PRINT 'First expression was not true'
END
IF ... 최종 ELSE 문과 함께 여러 IF ...
다중 IF...ELSE IF
문이 있지만 표현식이 모두 True로 평가되지 않는 경우 일부 코드 만 실행하려는 경우 IF
가 하나도 없을 경우 실행되는 마지막 ELSE
블록을 간단히 추가 할 수 있습니다 또는 ELSE IF
표현식이 참으로 평가됩니다.
아래 예제에서 IF
또는 ELSE IF
표현식 중 하나도 True가 아니므로 ELSE
블록 만 실행되고 'No other expression is true'
IF ( 1 = 1 + 1 )
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE
BEGIN
PRINT 'No other expression is true' --<-- Only this statement will be printed
END
여러 IF ... ELSE 문
종종 우리는 여러 표현식을 검사하고 그 표현식을 기반으로 특정 조치를 취할 필요가 있습니다. 이 상황은 여러 IF...ELSE IF
문을 사용하여 처리됩니다.
이 예제에서 모든 표현식은 위에서 아래로 평가됩니다. 표현식이 true로 평가되면 해당 블록 내의 코드가 실행됩니다. 표현식이 true로 평가되지 않으면 아무 것도 실행되지 않습니다.
IF (1 = 1 + 1)
BEGIN
PRINT 'First If Condition'
END
ELSE IF (1 = 2)
BEGIN
PRINT 'Second If Else Block'
END
ELSE IF (1 = 3)
BEGIN
PRINT 'Third If Else Block'
END
ELSE IF (1 = 1) --<-- This is True
BEGIN
PRINT 'Last Else Block' --<-- Only this statement will be printed
END