I Oracle er en DATO et tidspunkt. Den har altid en tidskomponent med en præcision til den anden. todate('08-Jun-2010', 'dd-Mon-yyyy')
er i Oracle det samme som todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss')
. Så hvis du vælger rækker op til den dato, vil du ikke få nogen række på den dag med en tidskomponent, der ikke er lig med 00:00
.
Hvis du vil vælge alle rækkerne til og med 08-JUN-2010
, vil jeg foreslå at bruge:
< to_date('09-06-2010', 'dd-MM-yyyy')
eller
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
Bemærk - Jeg rettede dit datoformat:du skal bruge MON
hvis du vil bruge det forkortede månedsnavn. Jeg vil foreslå at bruge MM
i stedet, så du ikke får fejl, når nogen ændrer dens klientindstillinger (NLS_DATE_LANGUAGE
). Foretrækker også brugen af YYYY
i stedet for YY
.