2016-06-19 2 views
5

このビューでは、自分の言語で月が必要です。私はこれを試します:SQL Server:ビューを作成中に言語を設定する

CREATE VIEW countTask 
AS 
    SET LANGUAGE Polish 

    SELECT COUNT(*), DATENAME(Month, startdate), YEAR(startdate) 
    FROM TBL_TASKS 
    GROUP BY YEAR(startdate), DATENAME(Month, startdate) 

しかし、それは正しくありません。どうすれば修正できるのか知っていますか?

答えて

3

あなたはDATENAMEに文化を渡すことはできませんし、ビューに次のことができないSET LANGUAGE(すでにとして@Mikeによって言及されています)が、SQL Server 2012以降の場合はFORMATを代わりに使用できます。

SELECT FORMAT(GETDATE(), 'MMMM', 'pl-PL') 

----------- 
czerwiec 

(1 row(s) affected) 
  • MMMMような何かが
  • MMMが省略された完全な月名形式で
  • MMはある月の数
  • (およびMで月と日)

FORMAThttps://msdn.microsoft.com/en-AU/library/hh213505.aspx

日付書式文字列https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

3

ビュー内にset Languageを置くことはできません。この見解は普遍的なものです。あなたはそこから選択する前にポーランド、言語の設定ポーランドのビューからの出力を表示する場合:

SET LANGUAGE Polish 
SELECT * FROM countTask 
関連する問題