在oracle中的两个时间戳之间搜索数据

时间:2017-01-19 07:20:25

标签: date oracle11g between

我正在尝试在两个日期之间搜索数据,但它检索不在我给出的范围内的旧数据?请建议我如何重写下面的查询逻辑

select *
from Users
where TO_CHAR(Users.lastloggedindate,'dd-MON-yy HH.MI.SS') between '17-JAN-17 07.16.55' and
                                                                   '18-JAN-17 09.20.22';

1 个答案:

答案 0 :(得分:2)

尝试使用to_date()代替to_char(),将范围的两个点转换为可与您的登录日期进行比较的日期:

select *
from Users
where Users.lastloggedindate between to_date('2017-17-01 07:16:55', 'YYYY-MM-DD HH24:MI:SS') and
                                     to_date('2017-18-01 09:20:22', 'YYYY-MM-DD HH24:MI:SS');