Virgolette singole ('
) in SQL denotano stringhe letterali. Quindi 'hiredate'
non è il hiredate
colonna, è solo un varchar, che, ovviamente, non si adatta al formato della data che stai specificando. Lascia cadere le virgolette e dovresti stare bene:
SELECT hiredate
FROM admin_emp
WHERE TO_DATE(hiredate,'yyyy-mm-dd') >= -- No quotes
TO_DATE('2012-05-12','yyyy-mm-dd');