Mysql 选择时间戳前1周的行

Mysql 选择时间戳前1周的行,mysql,timestamp,Mysql,Timestamp,有一个INT字段,我将时间戳存储在表中 我正在尝试在此时间戳前1周选择行 WHERE last_loc_date > DATE(NOW()) - INTERVAL 1 WEEK 不起作用。有什么想法吗 您可以使用unix\u timestamp计算第二个参数: WHERE last_loc_date > unix_timestamp(DATE(NOW()) - INTERVAL 1 WEEK) 请避免使用FROM\u UNIXTIME(last\u loc\u date)>dat

有一个INT字段,我将时间戳存储在表中

我正在尝试在此时间戳前1周选择行

WHERE last_loc_date > DATE(NOW()) - INTERVAL 1 WEEK

不起作用。有什么想法吗

您可以使用
unix\u timestamp
计算第二个参数:

WHERE last_loc_date > unix_timestamp(DATE(NOW()) - INTERVAL 1 WEEK)
请避免使用
FROM\u UNIXTIME(last\u loc\u date)>date(NOW())-间隔1周
。除非您使用基于函数的索引,否则此条件无效。

如果您希望严格遵守一周的时间,请不要使用日期(now())

WHERE last_loc_date > unix_timestamp(NOW() - INTERVAL 1 WEEK)

没有图片,谢谢。“这个条件不是可搜索的”,这是MySQL像PostgreSQL一样支持本机表达式/函数索引的时候了。。不再需要用生成的columns@RaymondNijland很好,但用户仍然需要创建函数索引。如果可能的话,我们应该避免这样的构造。”但用户仍然必须创建函数索引。如果可能的话,我们应该避免这样的构造“太好了,用户还需要为这个查询创建一个索引。”。。或者用户创建一个t-bree索引或表达式/函数索引,这在我的索引中并不重要opinion@RaymondNijland我假设这个索引可能存在。根据经验,创建支持尽可能多场景的对象。安威能否提供指向声明MySQL 8.0支持索引中表达式的文档的链接?“安威能否提供指向声明MySQL 8.0支持索引中表达式的文档的链接?”生成的列索引是MySQL 5.7+而不是MySQL 8.0。。“生成的列可以模拟函数索引:使用存储的列定义函数表达式并为其编制索引。”source还可以为JSON数据编制索引