关键字
关键字指的是 SQL 语言中具有特别含义的字。每个 SQL 语句都包含一个或多个关键字。SQL 对关键字不区分大小写,但是通常情况下以大写字母形式出现,以保证其可读性。
注意
如果在 SQL 语句中使用关键字作为标识符或别名的名称,则可能必须使用AS
或双引号限定关键字。Vertica 需要对某些保留字和非保留字使用 AS
或双引号以防止与表达式语法相混淆,或者用在使用字会产生歧义的位置。
保留字和关键字
许多关键字同时也是保留字。
Vertica 建议您不要使用保留字作为对象名称或标识符。包含保留字可能会导致 SQL 语句发生混淆。用作对象名称或标识符的保留字必须用双引号括住。
注意
所有保留字都同时是关键字,但是 Vertica 可以增加不是关键字的保留字。保留字即为保留下来以备未来使用的字。非保留关键字
非保留关键字在某些情况下具有特殊含义,但是在其他情况下可以用作标识符。可以将费保留关键字做为别名使用 — 例如,SOURCE
:
=> SELECT my_node AS SOURCE FROM nodes;
注意
Vertica 使用定向查询中的一些非保留关键字用来指定特殊联接类型。当用双引号括起时,这些关键字只可用作别名;否则可以不考虑双引号。
ANTI
NULLAWARE
SEMI
SEMIALL
UNI
查看保留关键字和非保留关键字列表
要查看 Vertica 保留字和非保留字的当前列表,请查询系统表
KEYWORDS
。Vertica 按字母顺序列出了所有的关键字,并标注其为保留 (R)或非保留 (N)。
例如,以下查询获取所有以 B 开头的保留关键字:
=> SELECT * FROM keywords WHERE reserved = 'R' AND keyword ilike 'B%';
keyword | reserved
---------+----------
BETWEEN | R
BIGINT | R
BINARY | R
BIT | R
BOOLEAN | R
BOTH | R
(6 rows)