【发布时间】:2014-09-11 03:42:02
【问题描述】:
MySQL 表:-
ID | From_DateTime | To_DateTime
1 2014-09-01 10:00:00 2014-09-10 22:00:00
解释:
我在数据库表中为日期和时间范围添加了 2 列。上面显示的数据表示从 01-09-2014 到 10-09-2014 是日期范围,而 10:00:00 到 22:00:00 是时间范围。
正面情景 - 现在我在查询中传递了 2014-09-05 15:00:00,该查询同时进入日期和时间范围。我需要的是查询中的 ID。
否定场景 - 现在我在查询中传递 2014-09-05 23:00:00 进入 Date 进入范围但 TIME 不在指定范围,所以我应该得到 0 结果。
我对数据库查询一无所知,因此我将其发布到此处以获得数据库专家的帮助。
【问题讨论】:
-
将其拆分为 4 列:2 个日期和 2 个时间,因为当前架构没有多大意义。然后使用
DATE()+TIME()函数进行比较。 -
使用这 2 列是不可能进行匹配的吗?是否必须有 4 列而不是 2 列?如果是的话,我把它分成 4 列,你能帮我建立查询吗?
-
有可能,但意义不大。
datetime指向确切的时间点,而您需要一个date和一个time,它们彼此不相关。 -
你能告诉我两列怎么可能吗?
-
是的,它完成了,但如果没有找到匹配项,它会给我空值。你能指导我如何避免这种情况吗?
标签: mysql date datetime between