【FORMAT関数】「日付」から「年月」を取得する

FORMAT関数を使用することで、
 ・年月日(DATE型)
 ・年月日時分秒(DATETIME型)
から「年月」を取得することができます!

当初は
 ・YEAR関数とMONTH関数を組み合わせれば良いのでは?
 ・CONVERT関数を使用すれば良いのでは?
と思い試行錯誤しましたが、
少なくとも私には実現できませんでした。

FORMAT関数を使用することで、実現することができました!

FORMAT関数とは

日付データの書式を変更する関数です。
「Transact-SQL(T-SQL)」に含まれています。
よってSQL Serverでのみ使用することができます。

FORMAT関数の戻り値はNVARCHAR型です。

サンプルSQL

GETDATE関数を使用して、DATE型及びDATETIME型の変数へシステムのタイムスタンプを設定します。
FORMAT関数を使用して、「年月」を取得します。

--DATE型及びDATETIME型の変数を定義
DECLARE 
	@date DATE,
	@dateTime DATETIME

--変数へシステムのタイムスタンプを設定
SET @date     = GETDATE()
SET @dateTime = GETDATE()

SELECT FORMAT(@date,'yyyyMM')   AS '年月日(DATE型)から「年月」を取得'
SELECT FORMAT(@dateTime,'yyyyMM') AS '年月日時分秒(DATETIME型)から「年月」を取得'

サンプルSQLの実行結果

「年月」を取得することができました!

 

CONVERT関数はFORMAT関数とほぼ同様のことができますが、
「年月」を取得できるのはFORMAT関数だけです!

タイトルとURLをコピーしました