Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Point de terminaison d’analytique SQL dans Microsoft Fabric
Entrepôt dans Microsoft Fabric
Base de données SQL dans Microsoft Fabric
Impose les conditions d'exécution d'une instruction Transact-SQL. L’instruction Transact-SQL qui suit un IF mot clé et sa condition est exécutée si la condition est satisfaite : l’expression booléenne retourne TRUE. Le mot clé facultatif ELSE introduit une autre instruction Transact-SQL exécutée lorsque la IF condition n’est pas satisfaite : l’expression booléenne retourne FALSE.
Conventions de la syntaxe Transact-SQL
Syntax
IF boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
Arguments
boolean_expression
Expression qui renvoie TRUE ou FALSE. Si l’expression booléenne contient une SELECT instruction, l’instruction SELECT doit être placée entre parenthèses.
{ sql_statement | statement_block }
Toute instruction Transact-SQL ou regroupement d’instructions tel que défini à l’aide d’un bloc d’instructions. Sauf si un bloc d’instructions est utilisé, la ou IF la ELSE condition peut affecter les performances d’une seule instruction Transact-SQL.
Pour définir un bloc d’instructions, utilisez les mots clés BEGIN de contrôle de flux et END.
Remarks
Une IF...ELSE construction peut être utilisée dans des lots, dans des procédures stockées et dans des requêtes ad hoc. Lorsque cette construction est utilisée dans une procédure stockée, il s’agit généralement de tester l’existence d’un paramètre.
IF les tests peuvent être imbriqués après un autre IF ou après un ELSE. La limite concernant le nombre de niveaux imbriqués dépend de la mémoire disponible.
Examples
IF DATENAME(weekday, GETDATE()) IN (N'Saturday', N'Sunday')
SELECT 'Weekend';
ELSE
SELECT 'Weekday';
Pour plus d’exemples, consultez ELSE (IF... ELSE).
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
L’exemple suivant utilise IF...ELSE pour déterminer quelle réponse donner à l’utilisateur entre deux réponses, en fonction du poids d’un élément dans la table DimProduct.
-- 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;