查询本地日期时间



我有一个表,其中包含MySQL中DateTime数据类型的记录(例如2013-01-17 21:16:06),而在我的实体上,我为日期字段选择了本地日期时间数据类型。在我的查询过程中,我想仅基于 2 个日期检索所有记录(使用日期选择器从日期和到日期)。假设我为 fromDate 和 toDate 选择相同的日期,问题是两个值都相同,因为时间是 00:00:00,因此不会给出来自数据库的结果。

我很好奇我是否使用了乔达的正确数据类型。我是否需要调整两个值的时间,例如 fromDate 为 00:00:00,toDate 为 23:59:59?或者有什么更好的方法?

给定一个日期时间列和两个任意日期作为输入,您可以编写:

SELECT * FROM `table`
WHERE `datetime` >= @startDate
AND   `dateTime` <  @endDate + INTERVAL 1 DAY

哪里:

    开始日期
  • 是开始日期,包括
  • 结束日期
  • 是结束日期,独占

以上含义最好通过以下案例来解释:

  1. 若要查看2013-01-17(一天)的所有记录,应2013-01-17 开始日期,结束日期应2013-01-17
  2. 若要查看 2013-01-17 - 2013-01-18(两天)的所有记录,应2013-01-17 开始日期,结束日期应2013-01-18

这使得选择日期变得直观。<符号可确保从结果中排除计算的结束日期(例如,在第一种情况下,查询省略了 '2013-01-18 00:00:00 记录)。

相关内容

  • 没有找到相关文章

最新更新