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');