"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 服务器所知。我不确定,这只是一个理论。
我今天写了一个 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 服务器所知。我不确定,这只是一个理论。