您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

IN 运算符

描述

SQLScript 支持将 IN 子句用作 IFWHILE 语句中的条件。与标准 SQL 一样,条件可以采用以下形式之一:

  • 左侧为表达式列表,右侧为表达式列表

  • 左侧的表达式列表和右侧的子查询。

    在这两种情况下,右侧结果集相应行的每个列表中的条目数量和类型都必须与左侧条目的数量和类型相匹配。

    示例

    示例代码伪代码示例-- single expression on the left-hand sideIF :i IN (1, 2, 3, 6, 8, 11, 12, 100) THEN[...]END IF; -- multiple expressions on the left-hand sideIF (:key, :val) NOT IN ((1, 'H2O'), (2, 'H2O'), (3, 'abc'), (5, 'R2D2'), (6, 'H2O'), (7, 'H2O')) THEN[...]END IF; -- subquery on the right-hand sideIF :i NOT IN (SELECT a FROM mytable) THEN[...]END IF; -- subquery using table variableIF (:a, :b, :c) IN (SELECT id, city, date from :lt where :id < :d) THEN[...]END IF; -- subquery using table functionFOR i IN 1 .. CARDINALITY(:arr) DO IF :arr[:i] IN (SELECT b FROM tfunc()) THEN [...] END IF;END FOR;

    限制

    可以使用浮点数、变量和表达式,但由于这些数据类型的实施,计算结果可能不准确。有关详细信息,请参阅 SAP HANA SQL 和系统视图参考中的数字数据类型章节。