Bonjour à tous,

J'ai un fonctionnement d'oracle que je ne comprend pas avec les tables dérivées.

Le but est de sortir la date "date_livr" pour 20160334a = "22/01/16" car on veut la date initiale (Qui correspond à celle du 20160334) et pas celle de la mise à jour pour simplifier.

Jeu de données :
20160334a 19/04/16
20160334 22/01/16

J'aurai fais naturellement le SELECT ci-dessous


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
SELECT a.*,
CASE WHEN IS_TEXT_DSI(A.NUMERODEVISSELL) = 'Y'  THEN   (SELECT A.date_livr FROM TEST_Renouv B
                                                        WHERE TO_CHAR(A.NUMERODEVISSELL) = TO_CHAR(SUBSTR(B.NUMERODEVISSELL,1,LENGTH(B.NUMERODEVISSELL)-1))
                                                        )
                                                ELSE A.DATe_livr 
END DATE_T
FROM  TEST_Renouv A
Sauf qu'il me sort un Null ??
SUBSTR(B.NUMERODEVISSELL,1,LENGTH(B.NUMERODEVISSELL)-1) = "20160334", donc je ne comprend pas.


Note : IS_TEXT_DSI renvoit Y ou N si c'est du texte ou non.


Merci d'avance pour vos explications!