SELECT * FROM TABLE1
WHERE WEEKENDDT = (SELECT MAX(ENDDTE)FROM TABLE2)
Run Code Online (Sandbox Code Playgroud)
由于某种原因,此选择不返回数据.两个表都有特定日期的数据:MAX(ENDDTE)有02-MAY-12的数据,WEEKENDDT也有数据02-MAY-12.
如果time部分date不同,就会发生这种情况.
例如,如果WEEKENDDT在Table1具有值02-09-2012 18:47,和MAX(ENDDTE)的Table2就是02-09-2012 00:00,它们是不相等的,并且因此不能与进行比较=.
如果要截断time零件,只需使用TRUNC():
SELECT * FROM TABLE1
WHERE TRUNC(WEEKENDDT) = (SELECT TRUNC(MAX(ENDDTE)) FROM TABLE2)
Run Code Online (Sandbox Code Playgroud)
这是一个演示.