Sql server “选择@@version”和“选择”之间的差异;“关于版本”;

Sql server “选择@@version”和“选择”之间的差异;“关于版本”;,sql-server,ssms,Sql Server,Ssms,产出: SELECT @@version 当 正在显示 HELP > About 当我尝试执行命令Select EOMONTH(SYSDATE())时,它没有错误,返回预期结果,但在文本编辑器中,函数有一条红线指示错误,因为EOMONTH不是可识别的内置函数名 如本文所述,EOMONTH()仅在2012年及以上版本受支持,换句话说,Select@@version是db执行引擎版本,而“Help>About”是SSMS版本?Select@@version显示数据库引擎的版本,而Hel

产出:

SELECT @@version 

正在显示

HELP > About 
当我尝试执行命令
Select EOMONTH(SYSDATE())
时,它没有错误,返回预期结果,但在文本编辑器中,函数有一条红线指示错误,因为
EOMONTH不是可识别的内置函数名


如本文所述,
EOMONTH()
仅在2012年及以上版本受支持,换句话说,
Select@@version
是db执行引擎版本,而“Help>About”是SSMS版本?

Select@@version
显示数据库引擎的版本,而
Help>About
最有可能显示管理工具的版本(假设您正在谈论SSMS中的
Help>About
选项)


这些不需要相同,但对于功能而言,引擎的版本通常更重要。。。。因此,在您的情况下-引擎似乎正确地执行了
EOMONTH()
函数(这证明它至少是SQL Server2012或更新版本),而SSMS GUI工具还不知道该函数(因此突出显示它是一个潜在错误)

我们有SQL Server 2014,并使用SSMS 2016,尝试将SSMS更新到2012或2014版本。运行
@@version
将返回服务器版本这一事实相当合乎逻辑,因为这是对服务器执行的查询,其中
Help>About
只能返回您正在使用的SSMS版本。在SSMS中,一次连接到多个服务器是完全可能的,因此让它返回这些服务器的一个版本没有多大意义。SSM和MSSQL服务器并不是以1对1的关系捆绑在一起的。当我们开始使用SSM时,我们都会感到困惑
HELP > About 
Microsoft SQL Server 2008 R2