mysql如何查询两个日期之间最大的连续登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何查询两个日期之间最大的连续登录相关的知识,希望对你有一定的参考价值。

参考技术A 你的日期字段存储类型是datetime吗,那就直接可以比较大小 比如去2014-10-28(时分秒省略)这一天的时间段 `date_time` > '2014-10-27 23:59:59' and `date_time` < '2014-10-29' 或者使用between 时间1 and 时间2也行

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

【中文标题】我如何在 MYSQL 表中找到两个不同日期之间的数据,例如(29-05-2021 到 08-06-2021)【英文标题】:how can i find the data between the two different dates like (29-05-2021 to 08-06-2021) in MYSQL table 【发布时间】:2021-08-27 10:45:51 【问题描述】:

我正在编写一个 mysql 查询来获取两个日期之间的数据(例如:29-05-2021 到 08-06-2021)。但它仅显示当前月份(六月)的唯一数据。它没有显示(五月)月份的数据。

示例:

我于 2021 年 5 月 30 日被存放在 john,2021 年 5 月 31 日存放在 sam,2021 年 7 月 6 日存放 raja,2021 年 5 月 6 日存放 ramesh。当我运行时,查询只显示 raja, ramesh。它没有显示约翰和山姆。

这是我的mysql查询

SELECT staff_name FROM staff_info WHERE join_date &lt;= '09-06-2021'

在数据库中,我以 varchar 方法存储日期,格式为 d-m-Y

任何人都可以帮助解决这些问题。

【问题讨论】:

日期应始终存储在 DATE 数据类型中,这样您就不会遇到这些问题 in database i was stored date in varchar method...这是你的第一个错误。日期不是字符串(除非您向人们展示它们)。使用date 列类型,您的生活会立即轻松很多。 现在您必须使用 str_to_date() 将“未知文本位”转换为正确的日期,以便进行正确的日期处理 【参考方案1】:

您必须将只有您知道是日期的文本转换为日期类型,以便 MySQL 知道如何轻松地将其作为日期处理

str_to_date()用于将文本转换为Date类型

SELECT staff_name 
FROM staff_info 
WHERE str_to_date(join_date, '%m/%d/%Y') between '2021-05-31' AND '2021-06-06' 

【讨论】:

以上是关于mysql如何查询两个日期之间最大的连续登录的主要内容,如果未能解决你的问题,请参考以下文章

mysql如何提取两个日期之间的所有数据

选择查询以连续查找最大日期

sql中查出两个日期之间的数据

ArrayIndexOutOfBoundsException,同时找到数组中两个连续元素之间的最大差异

如何在mysql选择查询中获取两个日期之间的日期列表[重复]

用php在mysql中,如何截取最大日期和最小日期