travel_id      b_date      e_date    disp_month (注:允许发生的月份)        
1           2006-12-12    2008-12-12    1,2,3,4,10,12
2           2006-11-12    2007-12-12    1,9
3           2006-1-12    2006-12-12     1,2,9
4           2006-2-12    2005-12-12     1
5           2006-12-12    2008-12-12    10,12
6           2006-12-12    2007-12-12    1
怎样看选出来 哪个id 即将生效(如果正在生效不记入即将生效范围内) ,哪个正在生效,哪个已经过期. 时间已当前时间为准即将生效 id 5 ,2
正在生效 id 1
已经过期 id 3,4,6   主要是id=6的怎么判断 .

解决方案 »

  1.   

    正在生效解决办法已经有了...(FIND_IN_SET(month(curdate()),disp_month) or disp_month=''  )AND unix_timestamp(curdate()) BETWEEN unix_timestamp(b_date) AND unix_timestamp(e_date)
      

  2.   

    现在问题基本就在于,是否可以判断. disp_month 中是否有大于当前月份的值...
      

  3.   

    mysql语句能否在1,2,3,4中找到最大值4?
      

  4.   

    SELECT CONVERT(replace(right( disp_month,2) ,',',''),SIGNED),disp_month
    FROM  `Travel` 
    WHERE disp_month <>'' and CONVERT(replace(right( disp_month,2) ,',',''),SIGNED) > month(curdate())