文章目錄
- 一、函式簡介
- 二、SQL陳述句
- 總結
- 參考鏈接
一、函式簡介
DATE_FORMAT()
函式用于以不同的格式顯示日期/時間資料,
CURDATE()
函式回傳當前的日期,
TO_DAYS(date)
給定的日期,回傳一個天數(以0年以來的天數),
NOW()
函式回傳當前系統的日期和時間,
YEARWEEK(date), YEARWEEK(date,mode)
回傳年份和星期的日期,mode引數的作業原理與使用mode引數WEEK()完全一樣,年在結果可能是從date引數為第一和年的最后一周,在年有所不同,
PERIOD_DIFF(P1,P2)
回傳周期P1和P2之間的月數,P1和P2為YYYYMM或YYYYMM格式, 注意該周期引數P1和P2都不日期值,
DATE_SUB()
函式從日期減去指定的時間間隔,
二、SQL陳述句
- 今天
SELECT * FROM 表名 WHERE TO_DAYS(欄位名) = TO_DAYS(NOW())
- 昨天
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 欄位名) <= 1
- 本周
SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(欄位名,’%Y-%m-%d’)) = YEARWEEK(now())
- 上一周
SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(欄位名,’%Y-%m-%d’)) = YEARWEEK(now())-1
- 本月
SELECT * FROM 表名 WHERE DATE_FORMAT( 欄位名, ‘%Y%m’ ) = DATE_FORMAT( CURDATE( ) ,’%Y%m’ )
- 上一個月
SELECT * SELECT 表名 WHERE PERIOD_DIFF(DATE_FORMAT(now(),’%Y%m’),DATE_FORMAT(欄位名,’%Y%m’) =1
- 本季度
SELECT * SELECT 表名 WHERE QUARTER(欄位名)=QUARTER(NOW());
- 上一季度
SELECT * SELECT 表名 WHERE QUARTER(欄位名)=QUARTER(DATE_SUB(NOW(),interval 1 QUARTER));
- 本年
SELECT * FROM 表名 WHERE YEAR(欄位名)=YEAR(NOW());
- 上一年
SELECT * FROM 表名 WHERE YEAR(欄位名)=YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR));
總結
作業隨筆,希望可以幫助到大家!
參考鏈接
函式參考:https://www.w3cschool.cn/mysql/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/240108.html
標籤:其他
上一篇:MySQL 執行計劃
下一篇:mysqldump實戰
