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

Oracle SQL porovnávání dat

V Oracle DATE má vždy časovou složku. Váš klient může nebo nemusí zobrazit časovou složku, ale stále je tam, když se pokusíte provést srovnání rovnosti. Vždy také chcete porovnávat data s daty, nikoli s řetězci, které používají NLS_DATE_FORMAT aktuální relace za to, že provádějí implicitní konverze, čímž je činí spíše křehkými. To bude zahrnovat buď datové literály ANSI nebo explicitní to_date hovory

Můžete použít TRUNC funkce pro zkrácení DATE do půlnoci

SELECT *
  FROM porder
 WHERE trunc(odate) = date '2013-10-04'

Nebo můžete provést srovnání rozsahu (což bude efektivnější, pokud budete mít prospěch z indexu na odate )

SELECT *
  FROM porder
 WHERE odate >= to_date( '04-Oct-2013', 'DD-Mon-YYYY' )
   AND odate <  to_date( '05-Oct-2013', 'DD-Mon-YYYY' );



  1. Jak vytvořit nové připojení k databázi v django

  2. Konfigurace databáze CakePHP 4.0

  3. jak aktualizovat konkrétní pole (sloupec) řádku o hodnotu automatického přírůstku tohoto řádku s nějakou předponou v mysql?

  4. Dynamická proměnná schématu SQL příkazu Oracle