2009年8月6日木曜日

[SQL]月末日を取得する(T-SQL)

以前、C#で月末日を取得する方法を紹介しましたが、今回はそれをT-SQLで書いてみました。
コードはこんな感じ。

DECLARE @YYYY char(4);
DECLARE @MM char(2);
DECLARE @RESULT DateTime;

SET @YYYY = '2008';
SET @MM = '2';

--一行で書くとこんなかんじ
--SET @RESULT = DATEADD(day,-1,DATEADD(Month,1,CONVERT(DateTime, @YYYY + '/' + @MM + '/01' ,111)));
--print '@RESULT=' + CONVERT(varchar, @RESULT, 111);

-- 指定月を日付型に
SET @RESULT = CONVERT(DateTime, @YYYY + '/' + @MM + '/01' ,111);
-- +1ヶ月
SET @RESULT = DATEADD(Month,1,@RESULT);
-- -1日
SET @RESULT = DATEADD(day,-1,@RESULT);

print '@RESULT=' + CONVERT(varchar, @RESULT, 111);

0 件のコメント: