Mysql 选择日期==现在+21天(不在两者之间)的记录

Mysql 选择日期==现在+21天(不在两者之间)的记录,mysql,sql,timestamp,intervals,unix-timestamp,Mysql,Sql,Timestamp,Intervals,Unix Timestamp,我有一个带有一些字段的表session_dates和一个名为timestart的timestamp字段 我想做的是从表中选择所有记录,其中字段timestart TIMESTAMP等于21天 例如,如果今天是1月27日->2月17日 我知道如何在两个日期之间选择所有日期。 两个日期之间的我的SQL查询: SELECT timestart, timefinish, sessionid FROM sessions_dates WHERE timestart BETWEEN UNIX_TIMEST

我有一个带有一些字段的表session_dates和一个名为timestart的timestamp字段

我想做的是从表中选择所有记录,其中字段timestart TIMESTAMP等于21天

例如,如果今天是1月27日->2月17日

我知道如何在两个日期之间选择所有日期。 两个日期之间的我的SQL查询:

SELECT timestart, timefinish, sessionid 
FROM sessions_dates 
WHERE timestart BETWEEN UNIX_TIMESTAMP(NOW()) AND UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 21 DAY))
但如何选择与日期相等的日期

更新:

现在我知道我只需要使用=语句。但是我怎样才能测试这个呢?我如何知道UNIX\u TIMESTAMPDATE\u ADDNOW,INTERVAL 21 DAY返回什么?

我想您需要:

SELECT timestart, timefinish, sessionid 
FROM sessions_dates 
WHERE timestart >= UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 21 DAY)) AND
      tmestamp < UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 22 DAY))

据推测,timestart有一个时间组件。这个版本考虑到了这一点,仍然允许在timestart上使用索引。

其中timestart=UNIX\u TIMESTAMPDATE\u ADDNOW,INTERVAL 21 DAY?use=而不是between?试试看?。。例如,您可以尝试使用=来比较=。。也许那会有用。谢谢你的反应,我怎么知道日期是哪一天?现在,间隔21天返回?用这个问题更新了我的主题