mysql
  • sql
  • ruby-on-rails
  • 2014-02-12 49 views 0 likes 
    0

    我在Rails(mysql数据库)中有这个查询。Rails中的日期比较SQL

    planSubscriptions = PlanSubscription.find_by_sql(["SELECT ps.* 
        FROM plan_subscriptions ps, plans p, states s 
        WHERE p.name = 'Unlimitted' 
        AND s.name = 'Confirmed' 
        AND p.id = ps.plan_id 
        AND s.id = ps.state_id 
        AND date_format(ps.updated_at + INTERVAL 1 MONTH,'%Y-%m-%d') <= date_format(NOW(),'%Y-%m-%d')"]) 
    

    It's不工作,因为格式不正确的格式字符串 - %Y

    我只需要比较日期(不是次)。什么是正确的语法?

    +0

    尝试[EXTRACT](http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions .html#function_extract)并查看它是否有效。 – user2989408

    回答

    0

    MySQL是完全能够直接比较日期值:

    ... (DATE(ps.updated_at + INTERVAL 1 MONTH) < curdate()) 
    
    相关问题