MySQL 查詢今天、昨天、本周、本月、上一月 、今年數據


參考鏈接:

https://www.cnblogs.com/winner-0715/p/6132838.html

一、查詢天數據

1.查詢今天數據

利用TO_DAYS函數

SELECT * FROM student 
WHERE TO_DAYS(Sage) = TO_DAYS(NOW())

注:

DATE_FORMAT(NOW(),'%Y-%m-%d')為一個日期,不能直接進行加減1操作。

  加減某個時間間隔函數date_add()與date_sub()

date_add('某個日期時間',interval 1 時間種類名);

2.查詢明天的數據

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,'%Y-%m-%d') = date_add(DATE_FORMAT(NOW(),'%Y-%m-%d'), interval 1 day)

3.查詢昨天的數據:

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,'%Y-%m-%d') = date_add(DATE_FORMAT(NOW(),'%Y-%m-%d'), interval -1 day)

二、查詢周數據

利用函數week

 可以看到,返回了當前日期所在的周數,再進行匹配

1.查詢本周數據

SELECT * FROM student 
WHERE WEEK(DATE_FORMAT(Sage,'%Y-%m-%d')) = WEEK(now())

2.查詢下周數據

SELECT * FROM student 
WHERE WEEK(DATE_FORMAT(Sage,'%Y-%m-%d')) = WEEK(now())+1

三、查詢月數據

SELECT *,DATE_FORMAT(Sage,'%m') s,DATE_FORMAT(now(),'%m') FROM student 

將月份取出,再進行匹配

1.查詢本月數據

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,'%m')= DATE_FORMAT(now(),'%m')

2.查詢下月數據

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,'%m')= DATE_FORMAT(now(),'%m')+1
SELECT * FROM student 
WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'), DATE_FORMAT(Sage,'%Y%m'))=-1

3.查詢上月數據

SELECT * FROM student
WHERE period_diff(DATE_FORMAT(NOW(),'%Y-%m'),DATE_FORMAT(Sage,'%Y-%m'))=1

 四、查詢年數據,與月同理

SELECT *,DATE_FORMAT(Sage,'%Y') s,DATE_FORMAT(now(),'%Y') FROM student 

 再進行匹配

如,我想查找30年前出生的人,將當前年份減去30

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,'%Y') =DATE_FORMAT(now(),'%Y')-30


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM