为什么 Microsoft SSMS 语法突出显示单词 "configuration"?
Why does Microsoft SSMS syntax highlight the word "configuration"?
当使用 Microsoft SQL Server Management Studio 14.0.17254.0 及其查询编辑器时,我注意到单词 configuration
始终在语法中突出显示为蓝色关键字。尽管它似乎不在 Reserved Keywords 的列表中。这是其他 SQL 标准中的关键字还是以前是关键字?有什么理由应该用与 SELECT
或 WHERE
相同的颜色突出显示?
我发现类似的问题问其他关键字,他们似乎都有逻辑原因,但找不到这个词的任何内容。
这个问题的主要原因是我想知道在没有大括号封装 [configuration]
的查询中使用它作为列名是否完全安全。
SQL 服务器中有保留关键字和关键字。 CONFIGURATION
是关键字,但不是保留关键字。就像 int
(对于数据类型 int
),换句话说,是一个关键字,但您仍然可以在不加引号的语句中使用它:
CREATE TABLE sample (int int,
date date,
char varchar(10),
last decimal(12,2),
first numeric(12,2),
system char(2));
每个单词都有某种关键字(包括sample
),但只有CREATE
和TABLE
是保留的。 char
甚至是一种数据类型和函数,并且不是保留的,因此您 可以 有一个像 CONVERT(char,CHAR(Char))
这样的无意义的语句,并且每个对 [=29= 的引用] 有不同的含义。
CONFIGURATION
也不是 future keyword,所以此时,您似乎可以使用它。
当使用 Microsoft SQL Server Management Studio 14.0.17254.0 及其查询编辑器时,我注意到单词 configuration
始终在语法中突出显示为蓝色关键字。尽管它似乎不在 Reserved Keywords 的列表中。这是其他 SQL 标准中的关键字还是以前是关键字?有什么理由应该用与 SELECT
或 WHERE
相同的颜色突出显示?
我发现类似的问题问其他关键字,他们似乎都有逻辑原因,但找不到这个词的任何内容。
这个问题的主要原因是我想知道在没有大括号封装 [configuration]
的查询中使用它作为列名是否完全安全。
SQL 服务器中有保留关键字和关键字。 CONFIGURATION
是关键字,但不是保留关键字。就像 int
(对于数据类型 int
),换句话说,是一个关键字,但您仍然可以在不加引号的语句中使用它:
CREATE TABLE sample (int int,
date date,
char varchar(10),
last decimal(12,2),
first numeric(12,2),
system char(2));
每个单词都有某种关键字(包括sample
),但只有CREATE
和TABLE
是保留的。 char
甚至是一种数据类型和函数,并且不是保留的,因此您 可以 有一个像 CONVERT(char,CHAR(Char))
这样的无意义的语句,并且每个对 [=29= 的引用] 有不同的含义。
CONFIGURATION
也不是 future keyword,所以此时,您似乎可以使用它。