选择@@版本和"关于版本"之间的区别

Sui*_*eep 2 sql-server ssms

SELECT @@version 
Run Code Online (Sandbox Code Playgroud)

输出:

Microsoft SQL Server 2012 - 11.0.5343.0 (X64)   
Run Code Online (Sandbox Code Playgroud)

HELP > About 
Run Code Online (Sandbox Code Playgroud)

正在显示

Microsoft SQL Server 2008 R2
Run Code Online (Sandbox Code Playgroud)

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

如此链接中所述,EOMONTH()仅在2012及更高Select @@version版本中受支持,换言之,这 是db执行引擎版本的版本,而"Help> About"是SSMS版本?

mar*_*c_s 5

SELECT @@Version显示数据库引擎的版本,而Help > About最有可能显示管理工具的版本(假设您正在讨论Help > AboutSSMS中的选项).

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