sql >> Databáze >  >> RDS >> Oracle

Jak porovnat dvě hodnoty DATE založené pouze na části data v Oracle?

Pro tuto podmínku potřebujete pouze ZKRAT pravou stranu:

WHERE date_occured >= TRUNC(CURRENT_DATE - 30)

Proč? Protože pokud je TRUNC(datum_došlo) pozdější než TRUNC(AKTUÁLNÍ_DATUM - 30), pak každý okamžik po TRUNC(datum_nastalo) musí být také pozdější než TRUNC(CURRENT_DATUM - 30).

Očividně vždy platí, že date_occured>=TRUNC(date_occured) (přemýšlejte o tom).

Logika říká, že pokud A>=B a B>=C, pak z toho vyplývá, že A>=C

Nyní nahraďte:

  • A :date_occured
  • B :TRUNC(datum_došlo)
  • C:TRUNC(CURRENT_DATE – 30)


  1. Jak mohu udělat asynchronní databázi v JavaFX

  2. Spouštěče přihlášení na serveru SQL Server

  3. break row_number() sekvence založená na proměnné příznaku

  4. V kolika jazycích se Null nerovná ničemu, dokonce ani Null?