sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo comparar dos valores de FECHA basados ​​​​solo en la parte de la fecha en Oracle?

Para esta condición solo necesita TRUNCAR el lado derecho:

WHERE date_occured >= TRUNC(CURRENT_DATE - 30)

¿Por qué? Porque si TRUNC(date_occured) es posterior a TRUNC(CURRENT_DATE - 30), entonces cualquier momento posterior a TRUNC(date_occured) también será posterior a TRUNC(CURRENT_DATE - 30).

Obviamente, siempre es cierto que date_occured>=TRUNC(date_occured) (piénsalo).

La lógica dice que si A>=B y B>=C entonces se sigue que A>=C

Ahora sustituye:

  • A:fecha_ocurrida
  • B :TRUNC(fecha_ocurrida)
  • C:TRUNC(FECHA_ACTUAL - 30)