标识中的有效字符

在 SQL 标识中,字母可以是语言环境定义的 alpha 类中的任何字符。该 alpha 类列出属于字母类的所有字符。

有关字符分类的更多信息,请参阅 CTYPE 类别。在缺省语言环境中,代码集的 alpha 类包含 azAZ 的范围内的 ASCII 字符。 在字母在 SQL 标识中有效的位置,SQL 标识可以使用这些 ASCII 字符。

在非缺省语言环境中,语言环境的 alpha 类还包括 ASCII 字符,范围为 azA Z。它还可能还包含非 ASCII 字符,如非罗马字母表(如希腊或西里尔)字母或表意字符。 例如:日语 UJIS 代码集的 alpha 类(在日语 UJIS 语言环境中)包含日语汉字字符。GBase 8s 产品使用非缺省语言环境时,只要字母在 SQL 标识的语法中有效,SQL 标识就可以使用非 ASCII 字符。只要语言环境的 alpha 类中列出某个非 ASCII 字符,该字符对于字母就也有效。

以下示例中的 SQL 语句使用非 ASCII 字符作为 SQL 标识中的字母:
CREATE DATABASE marché;

CREATE TABLE équipement
   (
      code NCHAR(6),
      description NVARCHAR(128,10),
      prix_courant MONEY(6,2)
    );

CREATE VIEW çà_va AS
   SELECT numéro, nom FROM abonnés;
在此示例中,用户在法语语言环境(如 fr_fr.8859-1)中创建具有法语语言字符名的下列数据库、表和视图:
  • CREATE DATABASE 语句为数据库声明标识 marché,其中含有 8 位字符 é
  • CREATE TABLE 语句为表声明标识 équipement(其中含有 8 位字符 é),为列声明标识 codedescriptionprix_courant
  • CREATE VIEW 语句为视图声明标识 çà_va,其中含有 8 位字符 ç à
  • CREATE VIEW 语句中的 SELECT 子句指定标识 numéronom 作为投影列表中的列,并指定标识 abonnés 用于 FROM 子句中的表。numéroabonnés 都包含 8 位字符 é

此示例中的所有标识均符合在法语语言环境中指定标识的规则。为了使这些名称有效,数据库语言环境支持的代码集必须包括 alpha 类中的这些法语字符。

对于 SQL 语句中标识的语法和使用情况,请参阅 GBase 8s SQL 指南:语法 中的 Identifier 段。