选择日期==现在+ 21天(不包括)的记录 [英] Select records where date == now + 21 days (NOT between)

查看:118
本文介绍了选择日期==现在+ 21天(不包括)的记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表session_dates,其中包含一些字段和一个名为timestart时间戳字段.

I have a table session_dates with some fields and a timestamp field named timestart.

我想做的是从表中选择所有记录,其中字段 timestart (时间戳)等于从现在开始的21天.

What I would like to do is select all the records from my table where the field timestart (TIMESTAMP) is equal to 21 days from now.

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

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

I know how I can select all between two dates. My SQL Query for between 2 dates:

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

但是如何选择等于日期呢?

But how to select equal to a date?

更新:

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

I know now that I just have to use the = statement. But how can I test this? How do I know what the UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 21 DAY)) returns?

推荐答案

我认为您想要:

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

Presumably, timestart has a time component. This version takes that into account and still would allow the use of an index on timestart.

这篇关于选择日期==现在+ 21天(不包括)的记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆