在 MySQL 上获取两个日期之间的数据

Posted

技术标签:

【中文标题】在 MySQL 上获取两个日期之间的数据【英文标题】:Get data between two date on MySQL 【发布时间】:2010-04-26 19:43:32 【问题描述】:

如何获取两个日期之间的值。

我想获取 2010-01-02 和 2010-01-04 之间的值。

例子:

Value DateTime
A     2010-01-01 14:55:12
B     2010-01-02 14:55:12
C     2010-01-03 14:55:12
D     2010-01-04 14:55:12
E     2010-01-05 14:55:12

谢谢!

【问题讨论】:

【参考方案1】:

看看

expr BETWEEN min AND max

如果 expr 大于或等于 min 和 expr 小于或等于 max, BETWEEN 返回 1,否则返回 返回 0。

/

为了获得最佳效果,使用 BETWEEN 使用日期或时间值,您应该 使用 CAST() 显式转换 值到所需的数据类型。 示例:如果您将 DATETIME 与 两个 DATE 值,转换 DATE 值到 DATETIME 值。如果你使用 字符串常量,例如 '2001-1-1' 与 DATE 相比,投射 字符串到 DATE。

【讨论】:

【参考方案2】:

我知道答案已经被接受,但我想我会在@astander 提到的内容中添加更多内容。我最近回答了一篇关于日期查询的帖子,以及使用日期维度从日期中提取更多有用信息的有用方法。

请参阅以下 *** 问题,并查看我的答案...

Select all months within given date span, including the ones with 0 values

【讨论】:

以上是关于在 MySQL 上获取两个日期之间的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 中的两个日期之间获取特定日期

MySQL - 获取两个日期之间的年龄和天数

如何获取 MySQL 上两个日期之间的差异天数?

我如何在 MYSQL 表中找到两个不同日期之间的数据,例如(29-05-2021 到 08-06-2021)

MYSQL:使用 date_format 查询两个日期之间的数据不起作用

获取VARCHAR中的日期之间的数据(Mysql和node.js)