我如何在 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)的主要内容,如果未能解决你的问题,请参考以下文章