2016-06-19 17 views
5

Potrzebuję mieć miesiące w moim języku w tym widoku. Próbuję tego:Serwer SQL: ustawienie języka podczas tworzenia widoku

CREATE VIEW countTask 
AS 
    SET LANGUAGE Polish 

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

ale to nie jest poprawne. Czy wiesz, jak mogę to naprawić?

Odpowiedz

3

Nie można przekazać kulturę DATENAME i nie można SET LANGUAGE w widoku (jak już wymienione przez @Mike), ale jeśli korzystasz z programu SQL Server 2012 lub nowszego, możesz zamiast tego użyć FORMAT. Coś jak

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

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

(1 row(s) affected) 
  • MMMM jest nazwa pełny miesiąc
  • MMM jest skrócona forma
  • MM jest liczba miesięcy
  • (i M jest miesiąc i dzień)

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

Łańcuch formatu daty https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

3

Nie można umieścić set Language w widoku. Widok jest uniwersalny. jeśli chcesz zobaczyć wyjście z widoku w języku polskim, Ustaw język polski przed wybraniu z niego:

SET LANGUAGE Polish 
SELECT * FROM countTask 
Powiązane problemy