SQL Server:在创建视图时设置语言

Kos*_*shi 5 sql sql-server view

在这种观点中,我需要用我的语言数月.我试试这个:

CREATE VIEW countTask
AS
    SET LANGUAGE Polish

    SELECT COUNT(*), DATENAME(Month, startdate), YEAR(startdate)
    FROM TBL_TASKS
    GROUP BY YEAR(startdate), DATENAME(Month, startdate)
Run Code Online (Sandbox Code Playgroud)

但这不正确.你知道我怎么解决它?

Lie*_*sel 6

您不能传递文化DATENAME,也不能SET LANGUAGE在视图中传递文化(正如 @Mike 已经提到的),但如果您使用的是 SQL Server 2012 或更高版本,则可以使用它FORMAT。就像是

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

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

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)
  • MMMM是完整的月份名称
  • MMM 是缩写形式
  • MM 是月份号
  • (是M月和日)

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

日期格式字符串https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx


小智 5

您不能将其放入set Language视图内。这种观点是普遍的。如果您想以波兰语查看视图的输出,请在选择之前设置语言波兰语:

SET LANGUAGE Polish
SELECT * FROM countTask
Run Code Online (Sandbox Code Playgroud)