Utiliser :
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Référence :TRUNC
Appel d'une fonction sur le tran_date
signifie que l'optimiseur ne pourra pas utiliser un index (en supposant qu'il en existe un) qui lui est associé. Certaines bases de données, telles qu'Oracle, prennent en charge les index basés sur des fonctions qui permettent d'exécuter des fonctions sur les données afin de minimiser l'impact dans de telles situations, mais les administrateurs de base de données IME ne les autorisent pas. Et je suis d'accord - ils ne sont pas vraiment nécessaires dans ce cas.