首頁 >資料庫 >mysql教程 >解析SQL計算timestamp的差值的方法

解析SQL計算timestamp的差值的方法

怪我咯
怪我咯原創
2017-05-29 09:39:081495瀏覽

這篇文章主要介紹了SQL計算timestamp的差值的方法的相關資料,需要的朋友可以參考下

SQL計算timestamp的差值的方法

概述

有時候我們需要按照時間找出某些記錄,比如說:算出離銷售時間前1個小時的記錄。
通常我們可以使用MYSQL的timestampdiff函數來做,但是這樣沒法使用到索引,如果資料量大的話,會造成慢查詢。

用程式碼計算時間後再傳給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這裡寫程式碼片`語句中,這樣如果銷售時間欄位有建立索引,是可以用上索引的。

以上是解析SQL計算timestamp的差值的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn