在所有日期都是时间戳格式的情况下提前3天获取mysql日期

在所有日期都是时间戳格式的情况下提前3天获取mysql日期,mysql,Mysql,我将所有日期存储为数据库中的时间戳(int) 我怎样才能得到正好提前3天的日期 我试过了 SELECT date from user WHERE DATE_ADD(DATE( FROM_UNIXTIME( `created` ) ), INTERVAL 3 DAY) = CURDATE() 这是最好/最有效的方法吗?我认为数据库更倾向于只添加两次日期来定义范围,如: SELECT date FROM user WHERE UNIX_TIMESTAMP(DATE_ADD(CURDATE(),

我将所有日期存储为数据库中的时间戳(int)

我怎样才能得到正好提前3天的日期

我试过了

SELECT date from user WHERE  DATE_ADD(DATE( FROM_UNIXTIME( `created` ) ), INTERVAL 3 DAY) = CURDATE()

这是最好/最有效的方法吗?

我认为数据库更倾向于只添加两次日期来定义范围,如:

SELECT date FROM user
WHERE UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL -3 DAY)) <= `created`
AND `created` < UNIX_TIMESTAMP(DATE_ADD(CURDATE(), INTERVAL -2 DAY));
从用户处选择日期
其中UNIX_时间戳(DATE_ADD(CURDATE(),INTERVAL-3天))
注意:where子句中创建的
列上未使用任何函数。此查询应该能够使用索引

SELECT date
FROM user
WHERE created = UNIX_TIMESTAMP(CURRENT_DATE - INTERVAL 3 DAY)