【问题标题】:SQL Server : setting language while creating viewSQL Server:在创建视图时设置语言
【发布时间】:2016-06-19 19:59:36
【问题描述】:

在这种情况下,我需要用我的语言有几个月的时间。我试试这个:

CREATE VIEW countTask
AS
    SET LANGUAGE Polish

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

但这是不正确的。你知道我该如何解决它吗?

【问题讨论】:

    标签: sql sql-server view


    【解决方案1】:

    您不能将文化传递给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

    【讨论】:

      【解决方案2】:

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

      SET LANGUAGE Polish
      SELECT * FROM countTask
      

      【讨论】:

        猜你喜欢
        • 2011-01-21
        • 2013-09-06
        • 1970-01-01
        • 1970-01-01
        • 2010-10-22
        • 2011-08-08
        • 2011-12-09
        • 2023-03-16
        相关资源
        最近更新 更多