在数据库中存的时间为系统时间,格式如:2008-6-23 19:20:07,我现在想把年和月提取出来并且按最近的三个月显示在列表(GridView)里,我该怎么实现呢?我想应该在后台写SqlDataSource的SelectCommand语句,具体下来就不会了,请指点

解决方案 »

  1.   


     <asp:BoundField DataField="CollectionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="发布职位时间"
                                    HtmlEncode="False">
                                    <HeaderStyle HorizontalAlign="Left" Width="80px" />
                                    <ItemStyle HorizontalAlign="Left" Width="80px" />
                                </asp:BoundField>
      

  2.   

    前台
     <asp:BoundField DataField="CollectionTime" DataFormatString="{0:yyyy-MM-dd}" HeaderText="发布职位时间"
                                    HtmlEncode="False">
                                    <HeaderStyle HorizontalAlign="Left" Width="80px" />
                                    <ItemStyle HorizontalAlign="Left" Width="80px" />
                                </asp:BoundField>后台查询语句:
    select CollectionTime,.... from tableName order by CollectionTime desc
      

  3.   

    select top 3 Convert(varchar(10),Year(CreateTime))+'-'+Right(100+Month(CreateTime),2) from as CreateTime Articles group by Year(CreateTime),month(CreateTime) order by month(CreateTime) desc
    当然,月份的部分也可以用Convert(varchar(10),Month(CreateTime)),只是当是系统时间时,对于个位月,表示分为X,和0X,由于只能通过0X如02查出记录,就只能用Right方法,在查相应的记录时,也要把数据库中的时间类型转换成字符串类型,使用Convert(varchar(10),Articles.CreateTime,120) like ...来查