为什么这个日期比较where子句没有返回结果?

时间:2012-09-02 16:15:17

标签: sql oracle

SELECT * FROM TABLE1
WHERE WEEKENDDT = (SELECT MAX(ENDDTE)FROM TABLE2)

由于某种原因,此选择不会返回数据。两个表都包含特定日期的数据: MAX(ENDDTE)的数据为02-MAY-12,WEEKENDDT的数据也是02-MAY-12。

1 个答案:

答案 0 :(得分:6)

如果time的{​​{1}}部分不同,就会发生这种情况。

例如,如果date中的WEEKENDDT的值为Table102-09-2012 18:47的{​​{1}}为MAX(ENDDTE),则 相等,因此无法与Table2进行比较。

如果要截断02-09-2012 00:00部分,只需使用TRUNC()

=

这是 DEMO