使用带有集合数据类型的 IN 运算符

您可使用 IN 运算符来确定集合中是否包含某个元素。

集合可为简单的集合或嵌套的集合。(在嵌套的集合类型中,集合的元素类型也是集合类型。)当您使用 IN 来搜索集合中的元素时,IN 左边或右边的表达式不可包含 BYTE 或 TEXT 数据类型。

假设您创建包含两个集合列的下列表:
CREATE TABLE tab_coll 
        (
        set_num SET(INT NOT NULL), 
        list_name LIST(SET(CHAR(10) NOT NULL) NOT NULL)
        );
下列语句片段展示您可能对 tab_coll 表的集合列上的搜索条件使用 IN 运算符的方式:
WHERE 5 IN set_num
        WHERE 5.0::INT IN set_num
        WHERE "5" NOT IN set_num
        WHERE set_num IN ("SET{1,2,3}", "SET{7,8,9}")
        WHERE "SET{'john', 'sally', 'bill'}" IN list_name
        WHERE list_name IN ("LIST{""SET{'bill','usha'}"", 
        ""SET{'ann' 'moshi'}""}",
        "LIST{""SET{'bob','ramesh'}"", 
        ""SET{'bomani' 'ann'}""}")

通常,当您在集合数据类型上使用 IN 运算符时,数据库服务器检查 IN 运算符左边的值是否是 IN 运算符右边值的集合中的一个元素。