参考博客:
https://www.cnblogs.com/qlqwjy/p/7718219.html
https://www.cnblogs.com/geaozhang/p/6740457.html
常用的函数:
函数 | 解释 |
---|---|
DATE(expr) | 将 expr 转换为 mysql的date 类型 |
TIME(expr) | 将 expr 转换为 mysql的time 类型 |
CURDATE() | 返回当前日期:2019-01-03 |
CURTIME() | 返回当前时间:15:26 |
NOW() | 返回当前的日期和时间:2019-01-03 15:26 |
UNIX_TIMESTAMP(date) | 返回日期 date 的 UNIX 时间戳 |
FROM_UNIXTIME | 返回 UNIX 时间戳的日期值 |
WEEK(date) | 返回日期 date 为一年中的第几周 |
YEAR(date) | 返回日期 date 的年份 |
HOUR(time) | 返回 time 的小时值 |
MINUTE(time) | 返回 time 的分钟值 |
MONTHNAME(date) | 返回 date 的月份名 |
DATE_FORMAT(date, fmt) | 返回按字符串 fmt 格式化日期的 date 值,fmt的格式:’%Y-%m-%d %H:%i:%S’ |
DATE_ADD(date, INTERVAL expr type) | 返回一个日期或时间值加上一个时间间隔的时间值 |
DATEDIFF(expr, expr2) | 返回起始时间 expr 和 结束时间 expr2 之间的天数 |
查询某一天的数据
-- 可以使用 between、大于小于号、DATE
SELECT * FROM 表名 WHERE (时间字段名 BETWEEN '2019-01-01 00:00:00' AND '2019-01-01 23:59:59')
SELECT * FROM 表名 WHERE DATE(时间字段名) = DATE(now());
查询 某一天加/减7天 的那一天的数据
相关函数介绍:
-- CURDATE() 获得当天的日期,格式为:2019-01-01
-- DATE_SUB(日期格式A, INTERVAL 7 DAY) 用日期A-7
-- DATE_ADD(日期格式A, INTERVAL 7 DAY) 用日期A+7
SELECT * FROM 表名 WHERE DATE(时间字段名) = DATE_SUB(CURDATE(),INTERVAL 7 DAY);
SELECT * FROM 表名 WHERE DATE(时间字段名) = DATE_ADD(CURDATE(),INTERVAL 7 DAY);
查询 某月 的数据
相关函数介绍
-- DATE_FORMAT() 格式化时间字段
SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m')