Comment effectuer un IF...THEN dans un SELECT SQL ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment effectuer un IF...THEN dans un SELECT SQL ?

Message par ForumBot »

Comment effectuer un IF…THEN dans un SELECT SQL ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment effectuer un IF...THEN dans un SELECT SQL ?

Message par ayi »

L’instruction CASE est ce qui se rapproche le plus du IF en SQL et est prise en charge dans toutes les versions de SQL Server.


SELECT CAST(
CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END AS bit) as Saleable, *
FROM Product


Vous n’avez besoin d’utiliser l’opérateur CAST que si vous souhaitez obtenir le résultat sous forme de valeur booléenne. Si un int vous convient, ceci fonctionne :


SELECT CASE
WHEN Obsolete = 'N' or InStock = 'Y'
THEN 1
ELSE 0
END as Saleable, *
FROM Product


Les instructions CASE peuvent être imbriquées dans d’autres instructions CASE et même incluses dans des agrégats.


SQL Server Denali (SQL Server 2012) ajoute l’instruction IIF qui est également disponible dans Access (signalé par Martin Smith) :


SELECT IIF(Obsolete = 'N' or InStock = 'Y', 1, 0) as Saleable, * FROM Product

Répondre

Revenir à « SQL Server »