1

月番号ごとに私のポーランド語(または他の言語)の名前を返すSQL Serverの組み込み関数はありますか?または、独自の関数を作成する必要がありますか?

例えば

GetMonthName(11) => Listopad (November)
4

1 に答える 1

7

関数Monthまたはdatepart"month"を使用して、日付/時刻から月番号を返すことができます。次に、DATENAME関数を使用できます。

SELECT DATENAME(month, GETDATE()) AS 'Month Name'

戻り値は、SET LANGUAGEを使用して設定された言語環境、およびログイン用の「デフォルト言語の構成」サーバー構成オプションによって異なります。

したがって、Jacekのコメントによると、これは次のように要約できます。

SET LANGUAGE Polish SELECT DATENAME(month, GETDATE()) AS 'Month Name'

文字通り月番号だけの場合は、上記のアプローチを適用できるように、この月番号を組み込んだ日時変数を作成する必要があります。SQL Server 2012では、 DATETIMEFROMPARTSを使用できます。

SELECT @RandomDate = DATETIMEFROMPARTS(2012, @MonthNumber, 1, 1, 1, 1, 0) 
SET LANGUAGE Polish SELECT DATENAME(month, @RandomDate) AS 'Month Name'
于 2012-11-22T15:58:27.530 に答える