In Oracle is een DATE een tijdstip. Het heeft altijd een tijdcomponent met een precisie tot op de seconde. todate('08-Jun-2010', 'dd-Mon-yyyy') is in Oracle hetzelfde als todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss') . Dus als u rijen tot die datum selecteert, krijgt u op die dag geen rij met een tijdcomponent die niet gelijk is aan 00:00 .
Als u alle rijen tot en met 08-JUN-2010 . wilt selecteren , raad ik aan het volgende te gebruiken:
< to_date('09-06-2010', 'dd-MM-yyyy')
of
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
Opmerking - Ik heb je datumnotatie gecorrigeerd:je moet MON . gebruiken als u de afgekorte naam van de maand wilt gebruiken. Ik raad aan om MM . te gebruiken in plaats daarvan, zodat u geen foutmelding krijgt wanneer iemand zijn clientinstellingen wijzigt (NLS_DATE_LANGUAGE ). Geef ook de voorkeur aan het gebruik van YYYY in plaats van YY .