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

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

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

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

PR

FORMAT関数とは

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

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

PR

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型)から「年月」を取得'

FORMAT関数の2つ目の引数に「’yyyyMM’」を指定します。

PR

実行結果

「年月」を取得できました!

「年月」を取得
「年月」を取得

 

CONVERT関数はFORMAT関数とほぼ同様のことができますが、
「年月」を取得できるのはFORMAT関数だけです!
※冒頭で記載した通り、私には他の方法で「年月」を取得できませんでした。

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