文章目录
- 一、函数简介
- 二、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/