RT。数据库中一个表,有一个add_time字段。
比如今天是2月14号。我要查询当天至前一个月的数据。就是add_time在1-14至2-14之间的数据、求解这样写无效
SELECT * FROM `a`WHERE add_time > DATE_SUB(NOW(),INTERVAL "1-1" YEAR_MONTH) 

解决方案 »

  1.   

    select * from a
    where add_time  > DATE_SUB(now(),INTERVAL 30 DAY) and dt < now();
      

  2.   

    SELECT * FROM `a`WHERE add_time>now()-interval 1 month
      

  3.   

    忘了说我的add_time是int型。无法这样比较吧?
    由于要做国际化。存的是时间戳。
      

  4.   

    SELECT * FROM `a`WHERE add_time>UNIX_TIMESTAMP(now()-interval 1 month)
      

  5.   

    多谢楼上两位。
    以前用MSSQL。时间存的都是2000-XX-XX XX:XX:XX这样的。头一次使用整型数字 一下子无法动手
      

  6.   

    SELECT * 
    FROM `a`
    WHERE add_time>UNIX_TIMESTAMP(date_add(now(),interval -1 month))