Oracle
 sql >> Database >  >> RDS >> Oracle

Come posso selezionare SOLO i record di ieri?

Usa:

AND oh.tran_date BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400

Riferimento:TRUNC

Chiamare una funzione su tran_date significa che l'ottimizzatore non sarà in grado di utilizzare un indice (supponendo che ne esista uno) ad esso associato. Alcuni database, come Oracle, supportano indici basati su funzioni che consentono di eseguire funzioni sui dati per ridurre al minimo l'impatto in tali situazioni, ma i DBA IME non lo consentono. E sono d'accordo:in questo caso non sono davvero necessari.