"Version" 是 TRANSACT-SQL 中的保留字吗? (显示蓝色但不在保留字列表中)

Is "Version" a Reserved word in TRANSACT-SQL? (Shows Blue but not in Reserved word list)

我今天写了一个 Stored Procedure 并写了这行:

SELECT pv1.Version FROM depl...

单词 Version 变为蓝色,如下所示:

所以我认为这是一个保留字,所以在这里做了一些调查:

Reserved Keywords (TRANSACT-SQL)

但在列表中找不到单词 Version

Version 是 SQL 保留字吗?如果不是,为什么我的字 Version 显示为蓝色?我正在使用 SQL Management Studio 2012

简短的回答 - 不,不是。这里有一个 SQLFiddle 将其用作 SQL-Server 2014 中的列名来证明这一点。

如您所见,Version 不在官方保留字列表中。它只是 SQL Server Management Studio 的 "feature" 以蓝色显示。

这样的话还有很多。这里还有一些:

DESCRIPTION
SERVER
INSTEAD

甚至有些词显示为粉红色,例如LOOKUP

我认为,如果有疑问,您总是可以将列名括在括号中以使用保留字作为列名:

select p1.[Version] from dpl...

"Version" 不是 SQL 服务器保留关键字。

但是,它用在一个全局变量中,用于显示OS名称&版本,SQL服务器版本,SQL服务器补丁和[=20]的硬件属性=] 正在使用服务器。

SELECT @@VERSION

可能 "Version" 文本在 Transact-SQL 中变为蓝色,因为它在这个全局变量的上下文中为 SQL 服务器所知。我不确定,这只是一个理论。