SQL計(jì)算timestamp的差值的方法
SQL計(jì)算timestamp的差值的方法
概述
有時(shí)候我們需要按照時(shí)間找出某些記錄,比如說:算出離銷售時(shí)間前1個(gè)小時(shí)的記錄。
通常我們可以使用MYSQL的timestampdiff函數(shù)來做,但是這樣沒法使用到索引,如果數(shù)據(jù)量大的話,會(huì)造成慢查詢。
用代碼計(jì)算出時(shí)間后再傳給SQL
我們可以利用JAVA代碼,先把時(shí)間計(jì)算好,然后傳給SQL語句,避免使用MYSQL的函數(shù)。
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();
}
這樣就可以算出銷售時(shí)間前一個(gè)小時(shí)的時(shí)間。然后傳入SQL這里寫代碼片`語句中,這樣如果銷售時(shí)間字段有建立索引,是可以用上索引的。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信