【发布时间】:2016-05-27 08:27:06
【问题描述】:
我面临的问题不是很复杂,这里有几个答案,但我没有看到任何可以解决我需要的问题。 所以我有一个表,其中包含两个类型为 VARCHAR 的字段,名为 timefrom 和 timeto。 这些字段以这种格式存储时间:12:00, 05:18,00:05 .... 我没有日期和秒,只有 24/h 时间格式的小时和分钟。 我有一个包含两个字段的表单,开始时间和结束时间。现在我想从数据库中选择用户开始时间和结束时间与数据库中的 timefrom 和 timeto 字段相交的所有行。 我有以下查询:
"SELECT * FROM reservation WHERE ((timeto>='$timefrom' AND timeto<='$timeto') OR (timefrom>='$timefrom' AND timefrom <='$timeto'))"
此查询适用于所有类型的交叉路口,但如果用户给出的时间适合存储在 DB 中的时间,则此查询无效。 例如,如果 DB timefrom=20:00 和 timeto=23:00 并且用户输入 starttime=21:00 和 endtime=22:00,则查询不会返回任何交集,它应该返回。 如果有人能向我展示一个可靠的解决方案,那将是一个很大的帮助。谢谢
【问题讨论】: