有一个int字段,我将时间戳存储在表中。我正在尝试在此时间戳前1周选择行
WHERE last_loc_date > DATE(NOW()) - INTERVAL 1 WEEK
不起作用。你知道吗?
i2loujxw1#
你可以用 unix_timestamp 要计算第二个参数:
unix_timestamp
WHERE last_loc_date > unix_timestamp(DATE(NOW()) - INTERVAL 1 WEEK)
请避免使用 FROM_UNIXTIME(last_loc_date) > DATE(NOW()) - INTERVAL 1 WEEK . 除非使用基于函数的索引,否则此条件是不可搜索的。
FROM_UNIXTIME(last_loc_date) > DATE(NOW()) - INTERVAL 1 WEEK
gr8qqesn2#
如果你想严格遵守一周的规定,就不要使用date(now())
WHERE last_loc_date > unix_timestamp(NOW() - INTERVAL 1 WEEK)
2条答案
按热度按时间i2loujxw1#
你可以用
unix_timestamp
要计算第二个参数:请避免使用
FROM_UNIXTIME(last_loc_date) > DATE(NOW()) - INTERVAL 1 WEEK
. 除非使用基于函数的索引,否则此条件是不可搜索的。gr8qqesn2#
如果你想严格遵守一周的规定,就不要使用date(now())