为什么Microsoft SSMS语法突出显示“配置”一词?

ruo*_*ola 1 sql t-sql sql-server ssms

当使用Microsoft SQL Server Management Studio 14.0.17254.0及其查询编辑器时,我注意到该词configuration的语法始终突出显示为蓝色关键字。即使它似乎不在保留关键字列表中。这是其他某些SQL标准中的关键字,还是之前的关键字?是否有任何原因应该使用与SELECT或相同的颜色突出显示WHERE

示例查询突出显示“配置”

我发现类似的问题询问其他关键字,它们似乎都有逻辑上的原因,但是找不到该单词的任何内容。

这个问题的主要原因是,我想知道在没有大括号封装的情况下将其用作查询中的列名[configuration]是否完全安全。

Lar*_*rnu 7

在SQL Server中既有保留关键字,又有关键字。CONFIGURATION是关键字,但不是保留关键字。就像int(对于datatype int)和其他词一样,它是一个关键字,但是您仍然可以在未加引号的语句中使用它:

CREATE TABLE sample (int int,
                     date date,
                     char varchar(10),
                     last decimal(12,2),
                     first numeric(12,2),
                     system char(2));
Run Code Online (Sandbox Code Playgroud)

每一个字有某种(包括关键字sample),但只有CREATETABLE保留。char甚至是一个数据类型和一个函数,并且不会被保留,因此您可能会有一个荒谬的陈述,例如CONVERT(char,CHAR(Char)),每个对“ char”的引用都有不同的含义。

CONFIGURATION也不是将来的关键字,因此此时,您似乎可以使用它。

  • @ruohola:使ALTER SERVER [SCOPED] CONFIGURATION`语句的颜色漂亮。T-SQL是一种非常“英语”的语言;如果某个地方的语句中使用的每个单词都被保留,则您必须做更多的引用。(并不是那一定是一件坏事...) (3认同)