比如还有3天到期的数据,WHERE DATE_SUB(tb_end.end_time, INTERVAL 3 DAY)=CURDATE() , 这样写感觉好别扭,有没有好一点的写法

解决方案 »

  1.   

    select datediff(tb_end.end_tim,curdate())=3这个呢?
      

  2.   

    CURDATE()-INTERVAL 3 DAY=end_time
    OR
    DATE_ADD(CURDATE(),INTERVAL - 3 DAY)=end_time
      

  3.   

    OR
    WHERE DATEDIFF(curdate(),tb_end.end_tim)=3
      

  4.   

    比较喜欢DATE_ADD(CURDATE(),INTERVAL + 3 DAY)=end_time,不是“-”,另外问下我是在linux上运行的,没什么问题吧!
      

  5.   

    这是mysql函数,跟什么系统上运行无所谓的;
      

  6.   

    还是改为 where tb_end.end_time < curdate + interval 3 day 吧!在列上计算的话mysql速度会慢很多。