BETWEEN...AND..函数得出的结果集是一个前闭后开的区间 也就是说and 后面的值达不到,现在我有一个语句是  select * from test where date1 BETWEEN 2008-12-12 00:00:00 and now() 现在这个now()是达不到的 我要达到他必须向后偏移一天,请问怎么向后偏移,或者 怎么达到这个 now() 谢谢大家了我用的是mysql6.0

解决方案 »

  1.   

    select * from test where date1 BETWEEN 2008-12-12 00:00:00 and 
    DATE_ADD(now(),INTERVAL DAY 1)
      

  2.   

    select * from test where date1 BETWEEN 2008-12-12 00:00:00 and now() + INTERVAL 1 DAY 
    OR
    select * from test where date1 BETWEEN 2008-12-12 00:00:00 and
    DATE_ADD(now(),INTERVAL 1 DAY ) 
      

  3.   

    因为你的now()是时刻变化的,查询的时候再插入一个当前的NOW()几率小的可怜。
      

  4.   

    对啊,我达不到这个now()但是now()以前的应该可以查到啊,now()前一秒,前一个小时的数据也查不到,非得向后偏移一天才可以查询的到now()这个时刻或他以前的值我按照二楼的做法已经实现了我的需求了