L'instruction SQL Server (2008 ou 2012, en particulier) CASE
évalue-t-elle toutes les WHEN
conditions ou se ferme-t-elle une fois qu'elle trouve une WHEN
clause évaluée à true? Si elle passe par l’ensemble des conditions, cela signifie-t-il que la dernière condition évaluée comme vraie remplace ce que la première condition évaluée comme vraie a fait? Par exemple:
SELECT
CASE
WHEN 1+1 = 2 THEN'YES'
WHEN 1+1 = 3 THEN 'NO'
WHEN 1+1 = 2 THEN 'NO'
END
Le résultat est "OUI" même si la dernière condition à remplir doit être évaluée à "NON". Il semble qu'il se ferme une fois qu'il a trouvé la première condition VRAIE. Quelqu'un peut-il s'il vous plaît confirmer si tel est le cas .
COALESCE()
traduit dans uneCASE
expression.)