TO_DATE('08:35:42 AM','HH:MI:SS PM')
Lý do điều này không hoạt động là vì đây không phải là một ngày hoàn chỉnh. Ngay cả khi bạn sử dụng to_date ('07 / 12/2011 ',' MM / DD / YYYY '), Oracle lưu trữ ngày và giờ, nhưng làm cho tất cả các thành phần của thời gian là KHÔNG. Vì vậy, ngày thực tế được lưu trữ là 07/12/2011 HH:MI:SS
Nếu bạn muốn lưu trữ thành phần thời gian một cách riêng biệt, Nó phải là một trường varchar và bạn sẽ cần thêm nó vào phần ngày tháng để có được ngày hoàn chỉnh. Ví dụ ..
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'
)