要回了,只能取天了
select day(dateadd(d,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01'))

解决方案 »

  1.   

    那也可以按你说那个思路来做` 
         先根据,年,月.来动态得到天数.比如2007年4月份的.可以用datadiff(day,'2007-04-01','2007-05-01')就可以得到天数,再用循环就可以 构造 你想要的日期集,其他的基本上,差不多
      

  2.   

    按天,直接取不就行啦select convert(char(10),LogAddtime,120),count(1) from ManViewLogs
    where convert(char(7),LogAddtime,120)='当前选中年-月'
    group by convert(char(10),LogAddtime,120),
      

  3.   

    select convert(char(10),LogAddtime,120),count(1) from ManViewLogs
    where convert(char(7),LogAddtime,120)='当前选中年-月'
    group by convert(char(10),LogAddtime,120)
      

  4.   

    ReViSion(和尚)
    select convert(char(10),LogAddtime,120),count(1) from ManViewLogs
    where convert(char(7),LogAddtime,120)='当前选中年-月'
    group by convert(char(10),LogAddtime,120)
    这个是可以取到的 ,问题是表中没有的日期 我也想要 我只要该月从月初到月末的所有日期,不管表中有没有,不太清楚sql里怎么得到这个当月日期的记录集
      

  5.   

    declare @a table(天 datetime)
    declare @i int
    set @i=1
    while @i<=day(dateadd(d,-1,convert(varchar(8),dateadd(mm,1,getdate()),120)+'01'))
    begin 
    insert  @a values(dateadd(d,0,convert(varchar(8),dateadd(mm,1,getdate()),120)+cast(@i as varchar(2))))
    set @i=@i+1
    end
    select * from @a
    非动态,你继续用@a就可以了