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

时间:2016-06-19 19:59:36

标签: 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)

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

2 个答案:

答案 0 :(得分:3)

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

SET LANGUAGE Polish
SELECT * FROM countTask

答案 1 :(得分:3)

您无法将文化传递给DATENAME,并且您无法在视图中SET LANGUAGE(如@Mike已经提到的那样),但如果您使用的是SQL Server 2012或更高版本,则可以请改用FORMAT。像

这样的东西
SELECT FORMAT(GETDATE(), 'MMMM', 'pl-PL')

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

(1 row(s) affected)
  • 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