TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
converteert een string (eerste argument) in een bepaald formaat (tweede argument) naar een datum.
(create_date / ( 60 * 60 * 24 ))
create_date seconden bevat, zet deze uitdrukking ze om in het aantal dagen (1 minuut =60 seconden, 1 uur =60 minuten, 1 dag =24 uur => 60*60*24 =het aantal seconden in een dag). Als je een getal toevoegt aan een datum, denkt Oracle dat dit getal dagen bevat, daarom heb je zo'n gesprek nodig.
TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS') + (create_date / ( 60 * 60 * 24 ))
geeft u een datum opgeslagen in create_date maar in "traditioneel" formaat
Het lijkt erop dat je Unix-tijd met datum moet vergelijken. Het zou beter zijn om deze voorwaarde te gebruiken:
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
);