[英]Checking conditions (date, time) with MySQL
我需要检查当前时间是否在DB内的某个字段范围内。
例如,在DB中,我将存储start time
, end time
, start date
和end date
。
然后,我需要检查当前日期是否在查询返回的值的范围内。
我试过了:
WHERE start_date <= $currdate
AND end_date >= $currdate
AND start_time <= $currtime
AND end_time >= $currtime
这很有效,直到我们得到日期重叠两天的情况,在这种情况下,查询返回NULL
因为end_time
显然比当前时间少。
我想我需要一种方法将start_date
和start_time
与end_date
和end_time
结合起来?
你试过时间戳()吗?
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestamp
也许可以做点什么
WHERE timestamp(start_date, start_time) <= timestamp(currdate, currtime)
AND timestamp(end_date, end_time) >= timestamp(currdate, currtime)
当然,这是假设您的开始/结束日期和时间是相关的。 不完全确定分离这两个领域的业务逻辑是什么......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.