是";版本;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保留字吗?如果不是,为什么我的wordVersion
显示为蓝色?我正在使用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。注意,在文档中,它被描述为一个函数。“全局变量”实际上是函数,用一种神秘的语法来调用它们。