MySQL时间查询:获取今天、本周、上周、本月和上个月的数据
作者:mobiledu2502860983 | 来源:互联网 | 2024-12-23 15:40
本文详细介绍了如何使用MySQL查询特定时间段的数据,包括今天、本周、上周、本月和上个月的数据。适合对MySQL查询感兴趣的读者。
在 MySQL 中,查询特定时间段的数据是常见的需求。以下是几种常用的 SQL 语句,用于获取今天、本周、上周、本月和上个月的数据。 ### 查询今天的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d'); ``` ### 查询当前周的数据 ```sql SELECT name, submittime FROM enterprise WHERE YEARWEEK(DATE_FORMAT(submittime, '%Y-%m-%d')) = YEARWEEK(NOW()); ``` ### 查询上周的数据 ```sql SELECT name, submittime FROM enterprise WHERE YEARWEEK(DATE_FORMAT(submittime, '%Y-%m-%d'), 1) = YEARWEEK(DATE_SUB(CURDATE(), INTERVAL 7 DAY), 1); ``` ### 查询当前月份的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m'); ``` ### 查询距离当前6个月的数据 ```sql SELECT name, submittime FROM enterprise WHERE submittime BETWEEN DATE_SUB(NOW(), INTERVAL 6 MONTH) AND NOW(); ``` ### 查询上个月的数据 ```sql SELECT name, submittime FROM enterprise WHERE DATE_FORMAT(submittime, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m'); ``` #### 按周统计的注意事项 默认情况下,`YEARWEEK()` 函数以周日作为一周的开始。如果你需要以周一或周六作为一周的开始,可以通过调整参数来实现。例如,以周一作为一周的开始: ```sql SELECT YEARWEEK(DATE_ADD(now(), INTERVAL 1 DAY)); ``` #### 获取每周的第一天和最后一天 - 当前周的第一天: ```sql SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) + 1 DAY); ``` - 当前周的最后一天: ```sql SELECT DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) - 5 DAY); ``` #### 获取每月的第一天和最后一天 - 当前月的第一天: ```sql SELECT CONCAT(DATE_FORMAT(LAST_DAY(NOW()), '%Y-%m-'), '01'); ``` - 当前月的最后一天: ```sql SELECT LAST_DAY(NOW()); ``` #### 获取每季度的第一天和最后一天 - 当前季度的第一天: ```sql SELECT CONCAT(DATE_FORMAT(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) * 3 - 3 MONTH), '%Y-%m-'), '01'); ``` - 当前季度的最后一天: ```sql SELECT LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM CURDATE()), 1) + INTERVAL QUARTER(CURDATE()) * 3 - 1 MONTH); ``` #### UNIX 时间戳与日期之间的转换 - 将 UNIX 时间戳转换为日期: ```sql SELECT FROM_UNIXTIME(1156219870); ``` - 将日期转换为 UNIX 时间戳: ```sql SELECT UNIX_TIMESTAMP('2006-11-04 12:23:00'); ``` #### 其他常用的时间查询 - 查询昨天的数据: ```sql SELECT * FROM 表名 WHERE TO_DAYS(NOW()) - TO_DAYS(时间字段名) <= 1; ``` - 查询近7天的数据: ```sql SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名); ``` - 查询近30天的数据: ```sql SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名); ``` 以上内容涵盖了 MySQL 中常见的时间段查询方法,希望能帮助您更高效地处理时间相关的数据。
推荐阅读
本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ...
[详细]
蜡笔小新 2024-12-26 18:05:04
Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ...
[详细]
蜡笔小新 2024-12-28 08:54:34
本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ...
[详细]
蜡笔小新 2024-12-27 17:40:42
本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ...
[详细]
蜡笔小新 2024-12-27 17:31:41
本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ...
[详细]
蜡笔小新 2024-12-27 16:20:10
本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ...
[详细]
蜡笔小新 2024-12-27 15:06:12
本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ...
[详细]
蜡笔小新 2024-12-27 15:04:09
本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ...
[详细]
蜡笔小新 2024-12-27 13:14:08
本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ...
[详细]
蜡笔小新 2024-12-28 13:22:19
本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ...
[详细]
蜡笔小新 2024-12-28 09:46:23
1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ...
[详细]
蜡笔小新 2024-12-27 19:32:17
主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ...
[详细]
蜡笔小新 2024-12-27 18:18:10
本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ...
[详细]
蜡笔小新 2024-12-27 10:36:44
本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ...
[详细]
蜡笔小新 2024-12-27 08:43:40
本文介绍如何使用 NSTimer 实现倒计时功能,详细讲解了初始化方法、参数配置以及具体实现步骤。通过示例代码展示如何创建和管理定时器,确保在指定时间间隔内执行特定任务。 ...
[详细]
蜡笔小新 2024-12-26 19:08:19
mobiledu2502860983
这个家伙很懒,什么也没留下!