SQL计算timestamp的差值小技巧

来源:互联网 发布:淘宝上卖真蜂蜜的店铺 编辑:程序博客网 时间:2024/06/14 13:08

概述


有时候我们需要按照时间找出某些记录,比如说:算出离销售时间前1个小时的记录。
通常我们可以使用MYSQLtimestampdiff函数来做,但是这样没法使用到索引,如果数据量大的话,会造成慢查询。


用代码计算出时间后再传给SQL


我们可以利用JAVA代码,先把时间计算好,然后传给SQL语句,避免使用MYSQL的函数。

public long xxxx(long sellTimeFrom){        Calendar calendar = Calendar.getInstance();        calendar.setTime(new Date(sellTimeFrom));        calendar.set(Calendar.HOUR_OF_DAY,calendar.get(Calendar.HOUR_OF_DAY) - 1);        return calendar.getTime().getTime();}

这样就可以算出销售时间前一个小时的时间。然后传入SQL这里写代码片`语句中,这样如果销售时间字段有建立索引,是可以用上索引的。

0 0