数据库有两个表,其中两个表中都有一个date型的字段
表A是连续的日期时间,用来记录登陆时间
logindate
2014-9-15 1:40:40
2014-9-15 4:40:40
2014-9-16 3:40:40
2014-9-16 12:40:40
2014-9-16 16:40:40
2014-9-17 5:40:40
2014-9-17 15:40:40
2014-9-17 22:40:40
2014-9-18 5:40:40
2014-9-18 15:40:40
2014-9-18 22:40:40
2014-9-19 5:40:40
2014-9-19 15:40:40
2014-9-19 22:40:40
表B是一些特殊情况下才会生成的时间
errordate
2014-9-15 3:40:40
2014-9-16 6:40:40
2014-9-18 14:40:40
我用什么语句,可以用表B的errordate去匹配表A的logindate数据,距离来说,就是我表B在9月15有一条数据,那么我就要根据这个9月15的日期把表A里两个日期是9月15的数据查出来
因为时间部分(HH:mm:ss)是不同的,所以只能用日期段(yyyy-MM-dd)去和表A匹配,这种语句要怎么写?
------解决思路----------------------
方法很多,假设从B表取出的日期为P
select * from A WHERE TRUNC(logindate)=TRUNC(P)
select * from A WHERE to_char(logindate,'YYYY-MM-DD')=TO_CHAR(P,'YYYY-MM-DD')