我们的表将start_time和end_time作为 unix 纪元时间戳。我想找到end_time正好比开始时间大 14 小时 (50400) 的所有行。
SELECT * FROM `mrbs_entry` WHERE (`end_time`-`start_time`)==50400
这似乎有点不对劲,实际上不起作用。不过,我不确定要搜索的正确术语是什么。
您不应该使用 ==
来比较值,而应该使用 =
.
或者您可以使用FROM_UNIXTIME
将格式设置为日期,然后DATESUB
INTERVAL 14 HOUR
。所以它是:
SELECT * FROM `mrbs_entry`
WHERE DATE_SUB(FROM_UNIXTIME(`end_time`), INTERVAL 14 HOUR) = FROM_UNIXTIME(`start_time`);