MYSQL之查询Timestamp某个日期的数据

实战SQL语句

    @Query(value = " select * from event e "
            + " where (e.event_title like CONCAT('%',?1,'%')  or ?1 is null) "
            + " and (to_days(e.register_time)=to_days(?2) or ?2 is null) "
            + " and e.status = '1' "
            + " order by e.register_time desc limit ?3,?4 ",nativeQuery = true)
    List<Event> findAllList(String eventTitle,Timestamp registerTime,Integer pageNumber,Integer pageSize);

精华分析

(to_days(e.register_time)=to_days(?2) or ?2 is null)
我们可以用to_days吧Timestamp转换为日期,这样方便进行计算。

如果查询今天的日期,例如之前排队系统,可以使用now()来限定
to_days(lastupdatetime) = to_days(now())

to_days也是mysql一个函数,给定一个日期,返回一个天数。转换威天数,利用天数的值大小,就可以判断是否同一天了。

猜你喜欢

转载自blog.csdn.net/moshowgame/article/details/80681977