表table
起始日期   截止日期    人员  部门
2010-01-01 2010-04-30  A     DEPTA
2010-05-01 2010-12-31  A     DEPTB
2010-01-01 2010-06-30  B     DEPTA
2010-07-01 2010-12-31  B     DEPTB怎么实现得出查询结果
月份       人员   部门
2010-01    A      DEPTA
2010-02    A      DEPTA
2010-03    A      DEPTA
2010-04    A      DEPTA
2010-05    A      DEPTB

解决方案 »

  1.   

    用to_char(date,'MM');
    具体的看你要什么结果了,可以查一下API
      

  2.   

    在查询的时候,你得对这个时间进行格式化一下 
    to_date('1970-1-1','yyyy-mm-dd')改成 to_date('1970-1-1','yyyy-mm')把时间格式的字段名传到第一个值的位置就行了。另外,在不修改表内容的前提下可以这样:
    sql> alter session set nls_date_format = 'yyyy-mm';
    sql> select * from 表名;这样就行了。
      

  3.   

    select to_date(to_char(起始日期,''yyyymm),'yyyy-mm'),人员,部门 from biao order by to_date(to_char(起始日期,''yyyymm),'yyyy-mm'),
      

  4.   

    select to_char(sysdate,'yyyy-mm') from dual;
      

  5.   

    substr(字段名,1,8)1,8表示截取的位数