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

时间:2015-01-27 17:42:53

标签: mysql sql timestamp intervals unix-timestamp

我有一个包含一些字段的表session_dates和一个名为timestart时间戳字段。

我想要做的是从我的表中选择字段 timestart (TIMESTAMP)等于21天后的所有记录。

例如如果今天是27 januari - > 17 februari

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

SELECT timestart, timefinish, sessionid 
FROM sessions_dates 
WHERE timestart BETWEEN UNIX_TIMESTAMP(NOW()) AND UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 21 DAY))

但如何选择等于约会呢?

更新

我现在知道我只需要使用=语句。但是我怎么测试呢?我怎么知道UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 21 DAY))返回什么?

1 个答案:

答案 0 :(得分:1)

我想你想要:

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上使用索引。