2016-10-20 50 views
2
SELECT @@version 

输出:和 “关于版本”

Microsoft SQL Server 2012 - 11.0.5343.0 (X64) 

HELP > About 

是显示

Microsoft SQL Server 2008 R2 

当我尝试执行命令Select EOMONTH(SYSDATE()),它没有错误,回报我预期的结果,但在文本编辑器的功能有一条红线表示错误为eomonth is not a recognized built-in function name

在本link指出,EOMONTH()仅支持在2012及以上这在其他字Select @@version是分贝执行引擎的版本,而“帮助>关于”版本是SSMS的版本?

+0

我们拥有SQL Server 2014并使用SSMS 2016,尝试将SSMS更新至2012或2014版。 – gofr1

+2

运行'@@ version'将返回服务器版本的事实是相当合理的,因为它是针对服务器执行的查询,其中'Help> About'只能返回您正在使用的SSMS版本。在SSMS中一次连接多个服务器是完全有可能的,因此让它返回这些服务器的版本并不会很有意义。 SSMS和MSSQL服务器不是以1对1的关系连接在一起的。 – Jens

回答

5

SELECT @@Version说明你的数据库引擎的版本,而Help > About最有可能显示管理工具的版本(假设你在谈论在SSMS的Help > About选项)。

那些并不需要是相同的,但是对于功能,它通常是更重要的是什么版本的发动机是....所以你的情况 - 发动机似乎正确的执行EOMONTH()函数(证明它至少是SQL Server- 或更新版本),而SSMS GUI工具不知道该功能(因此将其突出显示为潜在错误)

+0

我们都有这种困惑,我们开始使用SSMS –