TO_DATE('08:35:42 AM','HH:MI:SS PM')
Причина, по которой это не работает, в том, что это не полная дата. Даже когда вы используете дату to_date ('07 / 12/2011 ',' MM / DD / YYYY '), Oracle сохраняет дату и время, но устанавливает все компоненты времени на ноль. Таким образом, фактическая дата хранится 12/12/2011 ЧЧ: МИ: СС
Если вы хотите хранить компонент времени отдельно, это должно быть поле 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'
)