Why these two select queries
create table tmp (d date);
insert into tmp (d) values (sysdate);
select * from tmp where d = sysdate;
select * from tmp where d = trunc(sysdate);
both return 0 rows?
select to_timestamp(d), to_timestamp(sysdate) from tmp;
clearly shows that both columns are equal:
TO_TIMESTAMP(D) | TO_TIMESTAMP(SYSDATE)
July, 01 2013 00:00:00+0000 | July, 01 2013 00:00:00+0000