当前位置: 首页 > news >正文

MySQL 按日查询数据

Part 1 查询今日的数据

要在 MySQL 中查询今日的数据,可以使用 CURDATE() 函数来获取当前日期,并将其与你的表中的日期字段进行比较。假设你的表名是 your_table,并且有一个日期字段 your_date_column,你可以使用以下查询来获取今日的数据:

SELECT *
FROM your_table
WHERE DATE(your_date_column) = CURDATE();

这里解释一下各个部分的用途:

  • SELECT *:选择表中的所有列。
  • FROM your_table:指定要查询的表。
  • WHERE DATE(your_date_column) = CURDATE():筛选条件,DATE(your_date_column) 提取日期部分(如果 your_date_column 是 DATETIME 类型),CURDATE() 返回当前日期。

如果你的日期时间字段 your_date_column 包含时间信息,并且你希望精确匹配从今天零点开始到当前时间结束的数据,你也可以使用 BETWEEN 语句:

SELECT *
FROM your_table
WHERE your_date_column BETWEEN CONCAT(CURDATE(), ' 00:00:00') AND NOW();

这里解释一下各个部分的用途:

  • CONCAT(CURDATE(), ' 00:00:00'):将当前日期与字符串 ' 00:00:00' 连接,生成今天的零点时刻。
  • NOW():返回当前的日期和时间。

这两种方法都可以有效地查询今日的数据,具体选择哪种方式取决于你的需求和 your_date_column 的数据类型。

Part 2

在 MySQL 中查询昨日的数据,你可以使用 CURDATE() 函数结合日期运算来获取昨天的日期,并将其与你的表中的日期字段进行比较。假设你的表名是 your_table,并且有一个日期字段 your_date_column,你可以使用以下查询来获取昨日的数据:

SELECT *
FROM your_table
WHERE DATE(your_date_column) = CURDATE() - INTERVAL 1 DAY;

这里解释一下各个部分的用途:

  • SELECT *:选择表中的所有列。
  • FROM your_table:指定要查询的表。
  • WHERE DATE(your_date_column) = CURDATE() - INTERVAL 1 DAY:筛选条件,DATE(your_date_column) 提取日期部分(如果 your_date_column 是 DATETIME 类型),CURDATE() - INTERVAL 1 DAY 返回昨天的日期。

如果你的日期时间字段 your_date_column 包含时间信息,并且你希望精确匹配从昨天零点开始到昨天结束的数据,你也可以使用 BETWEEN 语句,结合 DATE_SUB() 函数来生成昨天的日期和时间范围:

SELECT *
FROM your_table
WHERE your_date_column BETWEEN CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 00:00:00') AND CONCAT(DATE_SUB(CURDATE(), INTERVAL 1 DAY), ' 23:59:59');

或者更简洁地使用 DATE() 函数和 INTERVAL 表达式结合 TIMESTAMP 或 DATETIME 字段:

SELECT *
FROM your_table
WHERE your_date_column >= CURDATE() - INTERVAL 1 DAY + INTERVAL 0 SECONDAND your_date_column < CURDATE() + INTERVAL 0 SECOND;

在这个查询中:

  • CURDATE() - INTERVAL 1 DAY + INTERVAL 0 SECOND 生成昨天的零点时刻(因为 CURDATE() 返回的是没有时间的日期,加上 INTERVAL 0 SECOND 不会改变值,但确保了结果是 DATETIME 类型,方便比较)。
  • CURDATE() + INTERVAL 0 SECOND 生成今天的零点时刻(同样,加上 INTERVAL 0 SECOND 是为了类型匹配),但因为我们想要的是昨天的数据,所以使用 < 来确保不包括今天的任何时间。

这两种方法都可以有效地查询昨日的数据,具体选择哪种方式取决于你的需求和 your_date_column 的数据类型。通常,第二种方法(使用 >= 和 <)在处理 DATETIME 字段时更为直观和准确。

Part 3


http://www.mrgr.cn/news/68526.html

相关文章:

  • (三)使用Vite创建Vue项目,了解Vue3生命周期
  • 汽车和飞机研制过程中“骡车”和“铁鸟”
  • 【原创】关于触摸芯片的那些事
  • vue中html如何转成pdf下载,pdf转base64,忽略某个元素渲染在pdf中,方法封装
  • uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
  • pdf 添加页眉页脚,获取前五页
  • C++静态成员函数
  • 【Ant Design Pro】框架思维导图
  • 面试题:Spring(一)
  • 技术复杂性导致估算不准确?5大对策
  • 鸿蒙进阶篇-网格布局 Grid/GridItem(二)
  • clickhouse自增id的处理
  • Nginx独立项目相关配置说明
  • 时间管理应用(可复制源码)
  • uniapp 整合 OpenLayers - 测距测面
  • Linux的基本指令(一)
  • Vue 组件通信-自定义事件(七)
  • AI芯片:推动高性能计算场景的关键力量
  • etherlab更新了一版IGH1.6.5
  • LeetCode 234.回文链表
  • 【9695】基于springboot+vue的学生就业管理系统
  • 全面升级的“新清影”,给AI生成视频带来了哪些新玩法?
  • 场景解决方案丨迎战电商大促,企业管理跟踪驾驶舱助力中小企业打赢决胜之战
  • 数据中心类DataCenter(一)
  • Pytorch基本语法
  • 五款小众办公助手