是";版本;TRANSACT-SQL中的保留字?(显示蓝色,但不在保留字列表中)

是";版本;TRANSACT-SQL中的保留字?(显示蓝色,但不在保留字列表中),sql,sql-server,reserved-words,Sql,Sql Server,Reserved Words,今天我在写一个存储过程,写了一行: SELECT pv1.Version FROM depl... 而单词Version变为蓝色,如下所示: 所以我认为这是一个保留字,所以做了一些调查: 但是在列表中找不到单词版本 Version是SQL保留字吗?如果不是,为什么我的wordVersion显示为蓝色?我正在使用SQL Management Studio 2012这个简短的答案-不,不是。下面是一个在SQL Server 2014中使用它作为列名的例子来证明这一点。正如您正确指出的,版本不在

今天我在写一个
存储过程
,写了一行:

SELECT pv1.Version FROM depl...
而单词
Version
变为蓝色,如下所示:

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

但是在列表中找不到单词
版本


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

这个简短的答案-不,不是。下面是一个在SQL Server 2014中使用它作为列名的例子来证明这一点。

正如您正确指出的,
版本不在官方保留字列表中。这只是SQLServerManagementStudio的一个“功能”,以蓝色显示

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

DESCRIPTION
SERVER
INSTEAD

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

我认为如果您有疑问,可以将您的列名用括号括起来,以保留单词作为列名:

从dpl中选择p1.[Version]。
“Version”不是SQL Server保留的关键字

但是,它在全局变量中使用,用于显示正在使用的SQL Server的操作系统名称和版本、SQL Server版本、SQL Server修补程序和硬件属性

SELECT @@VERSION

Transact-SQL中的“版本”文本可能会变为蓝色,因为SQL Server在该全局变量的上下文中知道该文本。我不确定这一点,这只是一个理论。

这是因为语法highlighter没有上下文意识。因为
VERSION
(以及您突出显示的其他单词)在特定上下文中有特定含义,所以它们会突出显示它,即使在大多数上下文中不是这样relevant@DavidG谢谢您提供的信息。是否有这些单词的列表?是的,我还怀疑“version”是蓝色的,因为@@version。注意,在文档中,它被描述为一个函数。“全局变量”实际上是函数,用一种神秘的语法来调用它们。