IF...ELSE(Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트
Transact-SQL 문을 실행하기 위한 조건을 설정합니다. IF 키워드 및 조건 다음에 이어지는 Transact-SQL 문은 부울 식이 TRUE를 반환하는 경우 즉, 조건이 만족되는 경우 실행됩니다. ELSE 키워드는 선택적이며 IF 조건이 만족되지 않는 경우 즉, 부울 식이 FALSE를 반환하는 경우 실행될 대체 Transact-SQL 문을 동반합니다.
Syntax
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
참고 항목
SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.
인수
Boolean_expression
TRUE 또는 FALSE를 반환하는 식입니다. 부울 식이 SELECT 문을 포함하는 경우에는 SELECT 문을 괄호로 묶어야 합니다.
{ sql_statement| statement_block }
문 블록을 사용하여 정의한 Transact-SQL 문 또는 문 그룹입니다. 문 블록을 사용하지 않으면 IF나 ELSE 조건이 하나의 Transact-SQL 문 성능에만 영향을 줍니다.
문 블록을 정의하려면 흐름 제어 키워드인 BEGIN 및 END를 사용하세요.
설명
일괄 처리, 저장 프로시저 및 임시 쿼리 내에서 IF...ELSE 구문을 사용할 수 있습니다. 저장 프로시저에서는 일부 매개 변수의 존재 여부를 테스트하는 데 이 구문이 자주 사용됩니다.
IF 검사는 다른 IF 뒤에 중첩될 수 있으며 ELSE 뒤에 다른 IF가 올 수도 있습니다. 가능한 중첩 수준은 사용 가능한 메모리에 따라 달라집니다.
예제
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
더 많은 예제를 보려면 ELSE (IF...ELSE) (Transact-SQL)를 참조하세요.
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
다음 예에서는 IF...ELSE
를 사용하여 DimProduct
테이블에 있는 항목의 가중치에 따라 두 응답 중 사용자를 표시할 응답을 결정합니다.
-- Uses AdventureWorksDW
DECLARE @maxWeight FLOAT, @productKey INTEGER
SET @maxWeight = 100.00
SET @productKey = 424
IF @maxWeight <= (SELECT Weight from DimProduct WHERE ProductKey = @productKey)
SELECT @productKey AS ProductKey, EnglishDescription, Weight, 'This product is too heavy to ship and is only available for pickup.'
AS ShippingStatus
FROM DimProduct WHERE ProductKey = @productKey
ELSE
SELECT @productKey AS ProductKey, EnglishDescription, Weight, 'This product is available for shipping or pickup.'
AS ShippingStatus
FROM DimProduct WHERE ProductKey = @productKey
참고 항목
BEGIN...END(Transact-SQL)
END(BEGIN...END)(Transact-SQL)
SELECT(Transact-SQL)
WHILE(Transact-SQL)
CASE(Transact-SQL)
흐름흐름 제어 언어(Transact-SQL)ELSE (IF...ELSE) (Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기