博客
关于我
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
阅读量:794 次
发布时间:2023-02-10

本文共 1423 字,大约阅读时间需要 4 分钟。

查看与数据查询优化指南

以下是一些基于MySQL的常见数据查询优化方法,适用于日志记录、数据分析等场景。

1. 查看当前日期

SELECT current_date();

2. 查看当前时间

SELECT current_time();

3. 查看当前时间与日期

SELECT current_timestamp();

4. 查询当天所有记录

SELECT * FROM 表名 WHERE to_days(时间字段名) = to_days(now());

5. 查询昨天的记录

SELECT * FROM 表名 WHERE to_days(时间字段名) <= to_days(now()) - 1;

6. 查询过去7天的记录

SELECT * FROM 表名 WHERE date_sub(curdate(), interval 7 day) <= 时间字段名;

7. 查询过去30天的记录

SELECT * FROM 表名 WHERE date_sub(curdate(), interval 30 day) <= 时间字段名;

8. 查询本月的记录

SELECT * FROM 表名 WHERE date_format(时间字段名, '%Y%m') = date_format(curdate(), '%Y%m');

9. 查询上一月的记录

SELECT * FROM 表名 WHERE period_diff(date_format(now(), '%Y%m'), date_format(时间字段名, '%Y%m')) = 1;

10. 查询本季度的记录

SELECT * FROM 表名 WHERE quarter(时间字段名) = quarter(now());

11. 查询上季度的记录

SELECT * FROM 表名 WHERE quarter(时间字段名) = quarter(date_sub(now(), interval 1 quarter));

12. 查询本年的记录

SELECT * FROM 表名 WHERE year(时间字段名) = year(now());

13. 查询上年的记录

SELECT * FROM 表名 WHERE year(时间字段名) = year(date_sub(now(), interval 1 year));

14. 查询当前周的记录

SELECT * FROM 表名 WHERE yearweek(date_format(时间字段名, '%Y-%m-%d')) = yearweek(now());

15. 查询上周的记录

SELECT * FROM 表名 WHERE yearweek(date_format(时间字段名, '%Y-%m-%d')) = yearweek(now()) - 1;

16. 查询当前月份的记录

SELECT * FROM 表名 WHERE date_format(时间字段名, '%Y-%m') = date_format(now(), '%Y-%m');

17. 查询过去6个月的记录

SELECT * FROM 表名 WHERE 时间字段名 >= date_sub(now(), interval 6 month) AND 时间字段名 <= now();

这些查询方法涵盖了从单日到长期时间范围的数据提取需求,适用于日志分析、数据迁移等场景。

转载地址:http://aybfk.baihongyu.com/

你可能感兴趣的文章
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
mysql problems
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>