月初・月末を取得する

declare @year char(4)    -- 年(設定用)
declare @month char(2)   -- 月(設定用)
declare @from datetime   
declare @to datetime

set @year =  '2005'      -- 任意の年を設定する
set @month = '06'        -- 任意の月を設定する

-- 任意の年月の1日をfromに
set @from = cast(@year + @month + '01' as datetime)
-- 任意の年月の翌月から1日引いた日(月末)を@toに
set @to = dateadd(day, -1, dateadd(month, 1, @from))

-- 確認
select
	@from as [from], @to as [to]

これで、月初・月末設定がちょっとは楽に。


ちなみに、上記selectの結果は

from to
2005-06-01 00:00:00.000 2005-06-30 00:00:00.000