SQL計算timestamp的差值的方法
概述
有時候我們需要按照時間找出某些記錄,比如說:算出離銷售時間前1個小時的記錄。
通常我們可以使用MYSQL的timestampdiff函數來做,但是這樣沒法使用到索引,如果數據量大的話,會造成慢查詢。
用代碼計算出時間后再傳給SQL
我們可以利用JAVA代碼,先把時間計算好,然后傳給SQL語句,避免使用MYSQL的函數。
1
2
3
4
5
6
|
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這里寫代碼片`語句中,這樣如果銷售時間字段有建立索引,是可以用上索引的。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
原文鏈接:http://blog.csdn.net/linsongbin1/article/details/54407851