有一个表格以“TIME”格式存储时间。还有另一个存储其他“TIME”数据的表。需要一个查询,该查询将从那里接收来自第一个表的数据,不包括来自第二个表的数据,而来自第二个表的数据应考虑到 N 分钟的偏移。试图这样做
$interval = date('H:i:s',strtotime('00:30'));
$begin_time_data = $mysqli->query("SELECT time FROM times WHERE time NOT IN (SELECT ch_time FROM events)+$interval");
但我得到空的结果
MySQL 本身可以使用间隔构造计算时间间隔。但是在不使用间隔的情况下添加直接值(无论是秒还是通过php中的date()获得的时间字符串)很难。此外,将子查询的结果添加到值意味着子查询应该只返回一行,这与 NOT IN 不一致,后者需要多行。NOT IN 子查询必须返回已经准备好使用的数据,因此必须直接在其中执行添加。