2016-06-19 3 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 польский, прежде чем выбрать из него:

SET LANGUAGE Polish 
SELECT * FROM countTask 
Смежные вопросы