Gunakan:
AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400
Referensi:TRUNC
Memanggil fungsi pada tran_date
berarti pengoptimal tidak akan dapat menggunakan indeks (dengan asumsi ada) yang terkait dengannya. Beberapa database, seperti Oracle, mendukung indeks berbasis fungsi yang memungkinkan untuk melakukan fungsi pada data untuk meminimalkan dampak dalam situasi seperti itu, tetapi DBA IME tidak mengizinkannya. Dan saya setuju - mereka tidak benar-benar diperlukan dalam hal ini.