31-DEC-95n'est pas une chaîne, ni ne l'est 20-JUN-94. Ce sont des chiffres avec des éléments supplémentaires ajoutés à la fin. Cela devrait être '31-DEC-95'ou '20-JUN-94'- noter la citation unique '. Cela vous permettra de faire une comparaison de chaînes.
Cependant, vous ne faites pas de comparaison de chaînes; vous faites une comparaison de dates . Vous devez transformer votre chaîne en date. Soit en utilisant la TO_DATE()fonction intégrée, soit un littéral de date .
À CE JOUR()
select employee_id
  from employee
 where employee_date_hired > to_date('31-DEC-95','DD-MON-YY')
Cette méthode présente quelques pièges inutiles
- Comme a_horse_with_no_name noté dans les commentaires 
DEC, ne signifie pas nécessairement décembre. Cela dépend de vos paramètres NLS_DATE_LANGUAGEet NLS_DATE_FORMAT. Pour vous assurer que votre comparaison fonctionne dans tous les paramètres régionaux, vous pouvez utiliser le modèle de format datetime à la MM place 
- L'année 95 est inexacte. Vous savez que vous voulez dire 1995, mais que se passerait-il si c'était 50, est-ce que c'est 1950 ou 2050? Il vaut toujours mieux être explicite
 
select employee_id
  from employee
 where employee_date_hired > to_date('31-12-1995','DD-MM-YYYY')
Littéraux de date
Un littéral de date fait partie de la norme ANSI, ce qui signifie que vous n'avez pas besoin d'utiliser une fonction spécifique à Oracle. Lorsque vous utilisez un littéral, vous devez spécifier votre date dans le format YYYY-MM-DDet vous ne pouvez pas inclure d'élément d'heure.
select employee_id
  from employee
 where employee_date_hired > date '1995-12-31'
N'oubliez pas que le type de données de date Oracle inclut un élément d'heure, de sorte que la date sans partie d'heure équivaut à 1995-12-31 00:00:00.
Si vous souhaitez inclure une partie de l'heure, vous devez utiliser un littéral d'horodatage, qui prend le format YYYY-MM-DD HH24:MI:SS[.FF0-9]
select employee_id
  from employee
 where employee_date_hired > timestamp '1995-12-31 12:31:02'
Informations complémentaires
NLS_DATE_LANGUAGEest dérivé NLS_LANGUAGEet NLS_DATE_FORMATdérivé de NLS_TERRITORY. Celles-ci sont définies lors de la création initiale de la base de données, mais elles peuvent être modifiées en modifiant votre fichier de paramètres d'inialisation - uniquement si cela est vraiment nécessaire - ou au niveau de la session en utilisant la ALTER SESSIONsyntaxe. Par exemple:
alter session set nls_date_format = 'DD.MM.YYYY HH24:MI:SS';
Ça signifie:
DD jour numérique du mois, 1 - 31 
MM mois numérique de l'année, 01-12 (janvier est 01) 
YYYYAnnée à 4 chiffres - à mon avis, c'est toujours mieux qu'une année à 2 chiffres YYcar il n'y a aucune confusion avec le siècle auquel vous faites référence. 
HH24 heure de la journée, 0-23 
MI minute de l'heure, 0 - 59 
SS seconde de la minute, 0-59 
Vous pouvez trouver votre langue actuelle et vos paramètres de langue de date en interrogeant V$NLS_PARAMETERSset la gamme complète des valeurs valides en interrogeant V$NLS_VALID_VALUES.
Lectures complémentaires
Incidemment, si vous voulez que count(*)vous ayez besoin de grouper paremployee_id
select employee_id, count(*)
  from employee
 where employee_date_hired > date '1995-12-31'
 group by employee_id
Cela vous donne le nombre par employee_id .
               
              
> <ouBETWEEN '' AND ''