Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Impõe condições à execução de uma declaração Transact-SQL. A instrução Transact-SQL que segue uma IF palavra-chave e sua condição é executada se a condição for satisfeita: a expressão booleana retorna TRUE. A palavra-chave opcional ELSE introduz outra instrução Transact-SQL que é executada quando a IF condição não é satisfeita: a expressão booleana retorna FALSE.
Transact-SQL convenções de sintaxe
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Uma expressão que retorna TRUE ou FALSE. Se a expressão booleana contiver uma SELECT instrução, a SELECT instrução deve ser colocada entre parênteses.
{ sql_statement | statement_block }
Qualquer instrução Transact-SQL ou agrupamento de instruções, conforme definido usando um bloco de instruções. A menos que um bloco de instrução seja usado, a IF condição ou ELSE pode afetar o desempenho de apenas uma instrução Transact-SQL.
Para definir um bloco de instruções, use as palavras-chave BEGIN control-of-flow e END.
Remarks
Uma IF...ELSE construção pode ser usada em lotes, em procedimentos armazenados e em consultas ad hoc. Quando essa construção é usada em um procedimento armazenado, geralmente é para testar a existência de algum parâmetro.
IF Os testes podem ser aninhados após outro IF ou após um ELSEarquivo . O limite para o número de níveis aninhados depende da memória disponível.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Para obter mais exemplos, consulte ELSE (SE... ELSE).
Exemplos: Azure Synapse Analytics and Analytics Platform System (PDW)
O exemplo a seguir usa IF...ELSE para determinar qual das duas respostas mostrar ao usuário, com base no peso de um item na DimProduct tabela.
-- Uses AdventureWorksDW
DECLARE @maxWeight FLOAT, @productKey INT;
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;