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

Posted

技术标签:

【中文标题】我如何在 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 <= '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 表中找到两个不同日期之间的数据,例如(29-05-2021 到 08-06-2021)的主要内容,如果未能解决你的问题,请参考以下文章

从sql中的表中减去两个日期

查找表中的任何日期是不是在两个日期之间

如果它在两个不同的日期之间,如何选择今天的日期[重复]

Mysql Select Query 以查找在两个给定日期之间也部分空闲的项目

MySQL 日期预订

使用 VBA 在数据透视表中的两个日期之间进行过滤。英国到美国的日期格式问题