以下是我写的一段代码,查询显示每周的订单数量,订单款数,周别,周五算开始
我想把下列结果中的2007年1周显示为2007年01周,请问该如何实现
或者说通过GETDAE()取当月份将结果显示为"07",该如何实现?set datefirst 5
select sum(mk_qty) as sum_mkqty,count(mk_no) as count_mkno,cast (datepart (yy,MK_DATE)as varchar(4))+'年'+cast (datepart (week,MK_DATE) as varchar(3))+'周' as mk_week from p_mk where mk_no like '07%'
        and substring(part_no,2,3) in(select cu_no from j_cust where i_o='Y')
group by cast (datepart (yy,MK_DATE)as varchar(4))+'年'+cast (datepart (week,MK_DATE) as varchar(3))+'周'
order by  cast (datepart (yy,MK_DATE)as varchar(4))+'年'+cast (datepart (week,MK_DATE) as varchar(3))+'周'
set datefirst 7
sum_mkqty                                count_mkno  mk_week     
---------------------------------------- ----------- ----------- 
10666.0000                               495         2007年10周
10833.0000                               530         2007年11周
9394.0000                                492         2007年12周
8619.0000                                417         2007年13周
9639.0000                                449         2007年14周
6849.0000                                354         2007年15周
11404.0000                               462         2007年16周
11854.0000                               480         2007年17周
3210.0000                                192         2007年18周
9355.0000                                448         2007年19周
5981.0000                                189         2007年1周

解决方案 »

  1.   

    set datefirst 5
    select sum(mk_qty) as sum_mkqty,count(mk_no) as count_mkno,cast (datepart (yy,MK_DATE)as varchar(4))+'年'+
    right('00'+cast(datepart (week,MK_DATE)as varchar(3)),2)+'周' as mk_week from p_mk where mk_no like '07%'
            and substring(part_no,2,3) in(select cu_no from j_cust where i_o='Y')
    group by cast (datepart (yy,MK_DATE)as varchar(4))+'年'+right('00'+cast(datepart (week,MK_DATE)as varchar(3)),2)+'周'
    order by  cast (datepart (yy,MK_DATE)as varchar(4))+'年'+right('00'+cast(datepart (week,MK_DATE)as varchar(3)),2)+'周'
    set datefirst 7