Usar:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Referência:TRUNC
Chamando uma função no
tran_date
significa que o otimizador não poderá usar um índice (supondo que exista) associado a ele. Alguns bancos de dados, como Oracle, suportam índices baseados em função que permitem a execução de funções nos dados para minimizar o impacto em tais situações, mas os DBAs IME não permitem isso. E eu concordo - eles não são realmente necessários neste caso.