Bonjour
Au cours de mes travaux sur une procédure stockée SQL, j'ai lu les deux lignes suivantes
(alias B1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SET @V = ISNULL(NULLIF(@V, 0), 1) SET @V = case when @V < 0 then 1 else @V end
Je me suis donc posé la question suivante : est-il possible de les "regrouper" en une seule instruction set ?
J'ai essayé
(alias B2)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SET @V = case when ISNULL(NULLIF(@V, 0), 1) < 0 then 1 else @V end
Mais ce n'est pas équivalent à B1.
En effet, avec B2, les 0 reste à 0 et les Null sont remplacés par 0.
Alors qu'avec B1, les Null et 0 sont remplacés par 1.
Toute aide est la bienvenue.
Cordialement
Partager