select t.xlid, t.clzbh, sum(t.xslcgps) as bqxslc, to_char(t.xcrq,'yyyy-mm')
          from T_gps_clddtjhzb t
         where  to_char(t.xcrq,'yyyy-mm') = to_date('2010-12-09','yyyy-mm')
                  group by t.xlid,to_char(t.xcrq,'yyyy-mm'), t.clzbh
       

解决方案 »

  1.   

    to_date('2010-12-09','yyyy-mm')
    改为to_date('2010-12','yyyy-mm')
      

  2.   

    这里不对  where to_char(t.xcrq,'yyyy-mm') = to_date('2010-12-09','yyyy-mm')
    前面获取的是T_gps_clddtjhzb 表的字段xcrq中格式 yyyy-mm 字符串
    后面是日期,肯定不对
    且转化为日期也错了,格式不对这样:
     where to_char(t.xcrq,'yyyy-mm') = SubStr('2010-12-09',1,7)
      

  3.   

    还有 你表T_gps_clddtjhzb 的字段xcrq是什么类型的?日期DATE型的吗?
      

  4.   

    xcrq 在表中什么类型?
    --如果是date类型
    select t.xlid, t.clzbh, sum(t.xslcgps) as bqxslc, to_char(t.xcrq,'yyyy-mm')
    from T_gps_clddtjhzb t
    where to_char(t.xcrq,'yyyy-mm') = '2010-12'
    group by t.xlid,to_char(t.xcrq,'yyyy-mm'), t.clzbh--如果是varchar2
    select t.xlid, t.clzbh, sum(t.xslcgps) as bqxslc, to_date(t.xcrq,'yyyy-mm')
    from T_gps_clddtjhzb t
    where to_date(t.xcrq,'yyyy-mm') = to_date('2010-12','yyyy-mm')
    group by t.xlid,to_date(t.xcrq,'yyyy-mm'), t.clzbh
      

  5.   


    select t.xlid, t.clzbh, sum(t.xslcgps) as bqxslc, to_char(t.xcrq,'yyyy-mm')
      from T_gps_clddtjhzb t
      where to_char(t.xcrq,'yyyy-mm') = '2010-12-09'
      group by t.xlid,to_char(t.xcrq,'yyyy-mm'), t.clzbh