KB2897282 - 修复:在非美国区域设置计算机上运行 SSAS 2012 或 SSAS 2014 中的 DateAdd 或 Day 函数时,将返回错误的日期格式

应用对象
SQL Server 2012 Analysis Services

此修补程序也适用于 Microsoft SQL Server 2014 Analysis Services (SSAS 2014) 。

症状

假设你有 Microsoft SQL Server 2012 Analysis Services (SSAS 2012) 或 SQL Server 2014 Analysis Services (SSAS 2014) 安装在非美国区域设置的计算机上,SQL Server 2012 或 SSAS 2014 的区域设置是美国区域设置。 运行 DateAdd 或 Day 函数时,函数的返回值为 US 区域设置格式,而不是定义的格式。

例如,计算机上的操作系统的区域设置是英国区域设置 (DMY) ,SQL Server 2012 或 SSAS 2014 的区域设置是美国区域设置 (MDY) 。 如果使用 DateAdd (“d”, 0, “12/01/1959 00:00:00”) 运行 DateAdd 函数,则在英国设置 参数必须被视为 dd/mm/yy。 错误的结果为 01 1959 年 12 月 1 日“,而不是正确结果”1959 年 1 月 12 日”。

如果使用 Day (“12/01/1959 00:00:00”) 运行 Day 函数,则在英国设置参数必须被视为 dd/mm/yy。 不正确的结果为 day“01”而不是正确的结果日“12”。

解决方法

此问题首先在以下SQL Server累积更新中得到解决。

SQL Server 2014 /en-us/help/2931693 的累积更新 1

SQL Server 2012 SP1 /help/2894115 的累积更新 7

关于 SQL Server 的累积更新

SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:

      

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。