2016-06-19 18 views
5

Tôi cần có tháng bằng ngôn ngữ của mình trong chế độ xem này. Tôi thử điều này:Máy chủ SQL: đặt ngôn ngữ trong khi tạo chế độ xem

CREATE VIEW countTask 
AS 
    SET LANGUAGE Polish 

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

nhưng không chính xác. Bạn có biết làm thế nào tôi có thể sửa chữa nó?

Trả lời

3

Bạn không thể vượt qua một nền văn hóa để DATENAME và bạn không thể SET LANGUAGE trong một cái nhìn (như đã được đề cập bởi @Mike) nhưng nếu bạn đang sử dụng SQL Server 2012 trở lên, bạn có thể sử dụng FORMAT để thay thế. Một cái gì đó như

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

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

(1 row(s) affected) 
  • MMMM là tên tháng đầy đủ
  • MMM được viết tắt dạng
  • MM là số tháng
  • (và M là tháng và ngày)

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

Chuỗi định dạng ngày https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

3

Bạn không thể đặt set Language bên trong chế độ xem. Quan điểm là phổ quát. nếu bạn muốn nhìn thấy đầu ra từ quan điểm trong tiếng Ba Lan, Set Language Ba Lan trước khi bạn chọn từ nó:

SET LANGUAGE Polish 
SELECT * FROM countTask 
Các vấn đề liên quan