Dans Oracle, une DATE est un point dans le temps. Il a toujours une composante temporelle avec une précision à la seconde près. todate('08-Jun-2010', 'dd-Mon-yyyy')
est dans Oracle identique à todate('08-Jun-2010 00:00:00', 'dd-Mon-yyyy hh24:mi:ss')
. Ainsi, si vous sélectionnez des lignes jusqu'à cette date, vous n'obtiendrez aucune ligne ce jour-là avec un composant horaire différent de 00:00
.
Si vous souhaitez sélectionner toutes les lignes jusqu'au 08-JUN-2010
inclus , je suggérerais d'utiliser :
< to_date('09-06-2010', 'dd-MM-yyyy')
ou
<= to_date('08-06-2010 23:59:59', 'dd-MM-yyyy hh24:mi:ss')
Remarque - J'ai corrigé votre format de date :vous devez utiliser MON
si vous souhaitez utiliser le nom de mois abrégé. Je suggérerais d'utiliser MM
à la place, afin que vous n'obteniez pas d'erreur lorsque quelqu'un modifie ses paramètres client (NLS_DATE_LANGUAGE
). Préférez également l'utilisation de YYYY
au lieu de YY
.