(たとえば、2012-04-20 05:54:59)形式の日付をmm-yyyyに変換しようとしています。私はあなたがvarcharに変換する必要があると言ういくつかのソリューションに出会いました。 Convert関数を使用する方法はありますか?
ありがとう:)
SQL Server 2012以降で使用可能なFORMAT
関数を使用できます。
DECLARE @myDate DATETIME = '2012-04-20 05:54:59'
SELECT FORMAT(@myDate, 'MM-yyyy')
出力:
04-2012
これをうまくやるもっと良い方法があるかもしれませんが、以下はうまくいきます。
Declare @dt datetime = GETDATE()
SELECT LEFT('0' + CAST(MONTH(@dt) as varchar(2)),2) + '-' + CAST(YEAR(@dt) as char(4))
ところで私の通常の日付変換チートシートは here ですが、MM-YYYYがフォーマットの1つとして表示されていません。
SQL Server 2014を使用している場合、FORMAT
を使用できますが、これも最適です:
SELECT CONVERT(VARCHAR(2),MONTH(yourDateTimeField)) + '-' +
CONVERT(VARCHAR(4),YEAR(yourDateTimeField)) AS [MM-YYYY]
FROM yourTable
ORDER BY yourDateTimeField
select [MM-YYYY] = right(convert(varchar(10),getdate(),105),7)