2010年2月5日 星期五

找出指定年度的每個月天數之 T SQL


如何找出上個月的最後一天
declare @dt datetime

set @dt='2009/02/15'

--找出上個月最後一天

select convert(datetime,convert(char(7),@dt,111)+'/01')-1

--找出該月第一天

select convert(char(7),@dt,111)+'/01'


如何找出指定年度的每個月天數
declare @year varchar(4) --假設年度

declare @month int --計算月份之用

declare @dt1 datetime --計算該月第一天

declare @dt2 datetime --計算該月最後一天

set @year='2007'

set @month=1

while @month<=12

 begin

  select @dt1=convert(datetime,@year+'/'+convert(varchar(2),@month)+'/01') --找出該月第一天

  set @dt2=DateAdd(mm,1,@dt1)-1 --找出該月最後一天

  select @year '年份',@month '月份',datediff(dd,@dt1,@dt2)+1 '天數' --輸出結果

  set @month=@month+1

 end


沒有留言:

張貼留言