如题
由于所给出的时间不是time类型,只精确到月。
例如:
 ……  姓名  ……   ……   年份   月份
 ……  张三  ……   ……   2009   01
 ……  李四  ……   ……   2010   05
 ……  ……  ……   ……   2009   08     “年份”和“月份”的数据类型均为数字我现在需要筛选出某两个时间段内所有的数据。
例如输入:2009.05-2010.12
系统返回这个时间段内的所有数据。请问where语句应该怎么写?测试数据: 2010.01-2010.05    //同年内
           2009.01-2010.03    //跨年
           2007.01-2010.07    //跨多年PS:由于数据类型并不是日期,所以需要纯数学运算的代码,谢谢

解决方案 »

  1.   

    months_between(enddate, startdate)
      

  2.   

    年份||'.'|lpad(月份,2,'0') >= substr('2009.05-2010.12',1,7) and
    年份||'.'|lpad(月份,2,'0') <= substr('2009.05-2010.12',9)
      

  3.   

    年份 || '.' || lpad(月份,2,'0') >= substr('2009.05-2010.12',1,7) and
    年份 || '.' || lpad(月份,2,'0') <= substr('2009.05-2010.12',9)
    上面少了一竖线