Oracle: ¿cómo puedo seleccionar loggings SOLAMENTE a partir de ayer?

Pasé horas buscando en la web una respuesta a esta pregunta …

Esto es lo que tengo actualmente:

select * from order_header oh where tran_date = sysdate-1 

Gracias por adelantado.

Utilizar:

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

Referencia: TRUNC

Llamar a una function en tran_date significa que el optimizador no podrá usar un índice asociado (suponiendo que exista) asociado a él. Algunas bases de datos, como Oracle, admiten índices basados ​​en funciones que permiten realizar funciones en los datos para minimizar el impacto en tales situaciones, pero los DBA IME no los permitirán. Y estoy de acuerdo, no son realmente necesarios en este caso.

 trunc(tran_date) = trunc(sysdate -1) 

Si no admite futuras transactions anticuadas, algo como esto podría funcionar:

 AND oh.tran_date >= trunc(sysdate-1) 
 to_char(tran_date, 'yyyy-mm-dd') = to_char(sysdate-1, 'yyyy-mm-dd') 

¡Este comentario es para lectores que han encontrado esta input pero están usando mysql en vez de oracle! en mysql puede hacer lo siguiente: hoy

 SELECT * FROM WHERE date(tran_date) = CURRENT_DATE() 

Ayer

 SELECT * FROM yourtable WHERE date(tran_date) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)