有人可以解释为什么以下查询的功能不同吗?从字面上看,两者之间的唯一区别是

Can someone explain why the below queries function differently? Literally the only difference between the two is that

以下两个查询是相同的,除了第一个在最后一行有 >= 而第二个有 =。然而第一个 returns 129 行,而第二个 returns 0。今天是 11-15-2016,所以我希望它们 return 相同。 date_time的数据类型是日期。

有人可以解释为什么简单地将运算符从 >= 更改为 > 会改变结果吗?谢谢,

select orderid
    from order_log
    where order_version = 0
    and description = 'Order Complete'
    and date_time **>=** to_date('11-15-2016', 'MM-DD-YYYY')

select orderid
    from order_log
    where order_version = 0
    and description = 'Order Complete'
    and date_time **=** to_date('11-15-2016', 'MM-DD-YYYY')

date_time 是一个时间戳(日期 + 时间),您没有恰好在午夜 (2016-11-15 00:00:00) 发生的事件。


select          sysdate
               ,case when sysdate = date '2016-11-16' then 'Y' else 'N' end as is_equal

 from           dual

SYSDATE             IS_EQUAL
2016-11-16 00:23:37 N