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

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

4

1 回答 1

6

如果time部分date不同,就会发生这种情况。

例如,如果WEEKENDDTinTable1具有值02-09-2012 18:47,并且MAX(ENDDTE)ofTable202-09-2012 00:00,则它们相等,因此无法与 进行比较=

如果要截断time部分,只需使用TRUNC()

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

这是一个演示

于 2012-09-02T17:49:19.050 回答