IN 条件

当 IN 关键字左侧的表达式包括在关键字右侧值的附加说明列表内时,那么满足 IN 条件。

此 SELECT 语句假定非缺省语言环境,并使用 IN 条件以仅检索 nom 列的值为以下值之一的那些行:Azevedo Llanero Oatfield
SELECT numéro,nom,prénom 
   FROM abonnés
      WHERE nom IN ('Azevedo', 'Llanero', 'Oatfield');

查询结果取决于 nom 是 CHAR 列还是 NCHAR 列。如果 nom 为 CHAR 列,数据库服务器使用代码集顺序,如表 1 所示。数据库服务器检索 nom 的值为 Azevedo 的行,而不是 nom 的值为 azevedo Åzevedo 的行,因为字符 AaÅ 在代码集顺序中是不等价的。查询还返回 nom 值为 LlaneroOatfield 的行。

但是,如果 nom 是 NCHAR 列,数据库服务器使用本地化顺序对行进行排序,如表 2 所示。如果语言环境将 AaÅ 定义为本地化顺序中的等价字符,那么查询返回 nom 值为 AzevedoazevedoÅzevedo 的行。同样的选择规则适用于 IN 关键字之后附加说明列表中的其他名称。