TO_DATE('08:35:42 AM','HH:MI:SS PM')
Причината това да не работи е, че това не е пълна дата. Дори когато използвате to_date('07/12/2011','MM/DD/YYYY'), Oracle съхранява датата и часа, но прави всички компоненти на времето НУЛИ. Така че действителната съхранена дата е 07/12/2011 HH:MI:SS
Ако искате да съхранявате времевия компонент отделно, той трябва да бъде поле varchar и ще трябва да го добавите към частта за дата, за да получите пълната дата. Пример...
Select to_date(
to_char(date_field_stored_as_date,'DD-MON-YYYY') ||
' ' ||
to_char(time_field_stored_as_varchar),
'DD-MON-YYYY HH24:MI:SS'
)