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版本?
SELECT @@Version显示数据库引擎的版本,而Help > About最有可能显示管理工具的版本(假设您正在讨论Help > AboutSSMS中的选项).
那些不需要是相同的,但对于功能,通常更重要的是引擎的版本....所以在你的情况下 - 引擎似乎正确执行该EOMONTH()功能(这证明它至少是SQL Server 2012 - 或者更新),而SSMS GUI工具还不知道该功能(因此将其突出显示为潜在错误)