sql >> Databasteknik >  >> RDS >> Oracle

Hur jämför man två DATE-värden endast baserat på datumdel i Oracle?

För detta tillstånd behöver du bara TRUNC den högra sidan:

WHERE date_occured >= TRUNC(CURRENT_DATE - 30)

Varför? För om TRUNC(date_occured) är senare än TRUNC(CURRENT_DATE - 30), så kommer varje ögonblick i tiden efter TRUNC(date_occured) att vara senare än TRUNC(CURRENT_DATE - 30) också.

Det är uppenbarligen alltid sant att date_occured>=TRUNC(date_occured) (tänk på det).

Logiken säger att om A>=B och B>=C så följer det att A>=C

Ersätt nu:

  • Svar:date_occured
  • B :TRUNC(datum_uppträdde)
  • C :TRUNC(CURRENT_DATE - 30)


  1. jdbcTemplate är null och ger null-pekare undantag

  2. Hur skapar man en dump med Oracle PL/SQL Developer?

  3. Lägga till ett FULLTEXT-index i Doktrin 2 med hjälp av anteckningar?

  4. Filtrera MYSQL-fråga med formuläralternativ