oracle中的时间比较

场景1:

/**
* 字段start_time 为字符串,格式为(yyyy-MM-dd HH:mm),将其与当前日期比较(判断start_time 的日期是否是今天)
*/
String hql = "SELECT meetingRoom, count(*) from MeetingOrder "
                    + " WHERE status = 'OPEN' and TO_CHAR(to_date(startTime,'yyyy-MM-dd hh24:mi'), 'yyyy-MM-dd') = TO_CHAR(sysdate",'yyyy-MM-dd')"
                    + " GROUP BY meetingRoom order by meetingRoom asc";

场景2:

/** 与上一场景的差别是,本次需要进行更加精准的比较(精确到分钟级别)*/
to_date(mo.endTime, 'yyyy-mm-dd hh24:mi') >= sysdate

场景3:

/** 与上一场景的差别是,本次比较的两个日期字段都是字符串形式(yyyy-MM-dd hh24:mi),故先将它们转换成date类型,再进行比较*/
((to_date(mo.startTime, 'yyyy-mm-dd hh24:mi') < to_date(:endTime, 'yyyy-mm-dd hh24:mi'))

场景4:

/** 判断创建日期是否为今天,createdTime对应的是java中的date类型,数据库中的timestamp类型,注意是当前日期,不是当前时间*/
TRUNC(uptask.updateInfo.createdTime) = TRUNC(sysdate)

你可能感兴趣的:(数据库)