在我的oracle数据库中存的数据是这样的,对应部分数据存储的是200705、200703、200701、是分单双月的,部分数据存储的时200705,200704,200703,我想实现把最近三个月的数据查询出来,如:对单月的应该查出200705、200703、200701,对于每月的应该查询出200705、200704、200703,不知道一个语句能否实现?请高人指点

解决方案 »

  1.   

    对单月:
    where to_char(searchTime,'yyyymmdd') 
       in (to_char(add_months(sysdate,-1),'yyyymmdd'),
           to_char(add_months(sysdate,-3),'yyyymmdd'),
           to_char(add_months(sysdate,-5),'yyyymmdd'));每月的:
    where to_char(searchTime,'yyyymmdd') 
       in (to_char(add_months(sysdate,-1),'yyyymmdd'),
           to_char(add_months(sysdate,-2),'yyyymmdd'),
           to_char(add_months(sysdate,-3),'yyyymmdd'));每个加上where就可以了 ..