繁体   English   中英

使用MySQL检查条件(日期,时间)

[英]Checking conditions (date, time) with MySQL

我需要检查当前时间是否在DB内的某个字段范围内。

例如,在DB中,我将存储start timeend timestart dateend date

然后,我需要检查当前日期是否在查询返回的值的范围内。

我试过了:

WHERE start_date <= $currdate 
  AND end_date >= $currdate
  AND start_time <= $currtime
  AND end_time >= $currtime

这很有效,直到我们得到日期重叠两天的情况,在这种情况下,查询返回NULL因为end_time显然比当前时间少。

我想我需要一种方法将start_datestart_timeend_dateend_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM