Oracle
 sql >> Base de données >  >> RDS >> Oracle

INFÉRIEUR OU ÉGAL À DANS Oracle SQL

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 .