Bonjour à tous,

Une simple question, à votre avis quel est le plus performant entre les deux ? (j'ai vu un topic qui parle de la même chose mais la réponse est pas franche donc je préfére proposer directement mes deux solutions à l'étude).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CASE WHEN (T1.c is NULL AND T2.c is NULL) THEN T3.c
     WHEN T1.c is NULL THEN T2.c
     WHEN T2.c is NULL THEN T1.c
     ELSE decode ( Sign(T1.c - T2.c), 1 , T1.c ,T2.c )
END

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
decode ( T1.c,
         NULL ,                                              
	 decode ( T2.c, NULL, T3.c, T2.c) ,
         decode ( T2.c, NULL , T1.c, 
                  decode ( Sign(T1.c - T2.c), 1 , T1.c ,T2.c )
                ) 
       )
Je pense que la seconde est plus efficace dans la majorité des cas si on compte le nombre de tests effectués. Mais il y a peut etre d'autres paramètres qui entrent en compte d'ou ma question.

Merci d'avance.