sql查詢指定日期前n天資料

2021-10-24 12:29:37 字數 1663 閱讀 6200

查詢2019-08-28前7天的記錄,包括2019-08-28

select * from a

where timestampdiff(day,a.create_time,'2019-08-28') < 7 and timestampdiff(day,a.create_time,'2019-08-28') >=0

擴充套件

mysql自帶的日期函式timestampdiff計算兩個日期相差的秒數、分鐘數、小時數、天數、週數、季度數、月數、年數,當前日期增加或者減少一天、一周等等。

select timestampdiff(型別,開始時間,結束時間)
相差的秒數:

select timestampdiff(second,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的分鐘數:

select timestampdiff(minute,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的小時數:

select timestampdiff(hour,'1993-03-23 00:00:00 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的天數:

select timestampdiff(day,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的週數:

select timestampdiff(week,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的季度數:

select timestampdiff(quarter,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的月數:

select timestampdiff(month,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
相差的年數:

select timestampdiff(year,'1993-03-23 00:00:00',date_format(now(), '%y-%m-%d %h:%i:%s'))
獲取當前日期:

select now()

select curdate()

當前日期增加一天:

select date_sub(curdate(),interval -1 day)
當前日期減少一天:

select date_sub(curdate(),interval 1 day)
當前日期增加一周:

select date_sub(curdate(),interval -1 week)
當前日期增加一月:

select date_sub(curdate(),interval -1 month)
select date_sub(now(),interval -1 month)

mysql刪除指定日期前資料

由於資料上報產生資料量過大,因此需要定期刪除無用資料。mysql語句如下 1 delete from t iot cb device data changed where event time is null or date event time date date sub now interval...

shell指令碼刪除指定日期和指定日期前的檔案

測試環境redis持久化到硬碟報錯,發現是因為硬碟空間不夠導致。去尋找占用空間較大的任務,發現flink日誌檔案佔了70 容量,在此之前在測試環境沒有對flink日誌進行維護和刪除。為了以後自動維護日誌檔案,需要寫乙個能夠定時執行任務的shell指令碼。思路 每日凌晨執行指令碼,刪除一周之前的那一天...

mysql 固定日期 mysql查詢指定日期

1.今天 select from hb contract in h where to days modify date to days now 2.昨天 select from hb contract in h where to days now to days modify date 1 3.近七...