TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
chuyển đổi một chuỗi (đối số đầu tiên) ở định dạng nhất định (đối số thứ hai) thành một ngày.
(create_date / ( 60 * 60 * 24 ))
create_date chứa giây, biểu thức này chuyển chúng thành số ngày (1 phút =60 giây, 1 giờ =60 phút, 1 ngày =24 giờ => 60 * 60 * 24 =số giây trong một ngày). Khi bạn thêm một số vào ngày, Oracle nghĩ rằng số này chứa ngày, đó là lý do tại sao bạn cần một cuộc trò chuyện như vậy.
TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS') + (create_date / ( 60 * 60 * 24 ))
cung cấp cho bạn một ngày được lưu trữ trong create_date nhưng ở định dạng "truyền thống"
Có vẻ như bạn cần so sánh thời gian unix với ngày tháng. Sẽ tốt hơn nếu sử dụng điều kiện này:
Select
....
From
...
Where create_date = trunc( (TO_DATE('06/30/14 21:41:11', 'MM/DD/YY HH24:MI:SS')
- TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
) * 24 * 60 * 60
);