
# 比较函数
表1比较函数 
| **SQL函数**                                                          | **返回类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|
| value1 = value2                                                    | BOOLEAN  | 如果 value1 等于 value2 返回 TRUE； 如果 value1 或者 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| value1 \<\> value2                                                 | BOOLEAN  | 如果 value1 不等于 value2 返回 TRUE； 如果 value1 或 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| value1 \> value2                                                   | BOOLEAN  | 如果 value1 大于 value2 返回 TRUE； 如果 value1 或 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| value1 \>= value2                                                  | BOOLEAN  | 如果 value1 大于或等于 value2 返回 TRUE； 如果 value1 或 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| value1 \< value2                                                   | BOOLEAN  | 如果 value1 小于 value2 返回 TRUE； 如果 value1 或 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| value1 \<= value2                                                  | BOOLEAN  | 如果 value1 小于或等于 value2 返回 TRUE； 如果 value1 或 value2 为 NULL 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| value IS NULL                                                      | BOOLEAN  | 如果值为 NULL 返回 TRUE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| value IS NOT NULL                                                  | BOOLEAN  | 如果值不为 NULL 返回 TRUE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| value1 IS DISTINCT FROM value2                                     | BOOLEAN  | value1和value2的数据类型和值不完全相同返回 TRUE。 value1和value2的数据类型和值都相同返回 FALSE。 将 NULL 视为相同。 例如： 1 IS DISTINCT FROM NULL 返回 TRUE； NULL IS DISTINCT FROM NULL 返回 FALSE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| value1 IS NOT DISTINCT FROM value2                                 | BOOLEAN  | value1和value2的数据类型和值都相同返回 TRUE。 value1和value2的数据类型和值不完全相同则返回 FALSE。 将 NULL 视为相同。 例如： 1 IS NOT DISTINCT FROM NULL 返回 FALSE； NULL IS NOT DISTINCT FROM NULL 返回 TRUE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| value1 BETWEEN \[ ASYMMETRIC \| SYMMETRIC \] value2 AND value3     | BOOLEAN  | 默认或使用 ASYMMETRIC 关键字的情况下，如果 value1 大于等于 value2 且小于等于 value3 返回 TRUE。 使用 SYMMETRIC 关键字则 value1 在 value2 和 value3 之间返回 TRUE。 当 value2 或 value3 为 NULL 时，返回 FALSE 或 UNKNOWN。 例如： - 12 BETWEEN 15 AND 12 返回 FALSE；  - 12 BETWEEN SYMMETRIC 15 AND 12 返回 TRUE；  - 12 BETWEEN 10 AND NULL 返回 UNKNOWN；  - 12 BETWEEN NULL AND 10 返回 FALSE；  - 12 BETWEEN SYMMETRIC NULL AND 12 返回 UNKNOWN。         |
| value1 NOT BETWEEN \[ ASYMMETRIC \| SYMMETRIC \] value2 AND value3 | BOOLEAN  | 默认或使用 ASYMMETRIC 关键字的情况下，如果 value1 小于 value2 或大于 value3，则返回 TRUE。 使用 SYMMETRIC 关键字则 value1 不在 value2 和 value3 之间返回 TRUE。 当 value2 或 value3 为 NULL 时，返回 TRUE 或 UNKNOWN。 例如 ： - 12 NOT BETWEEN 15 AND 12 返回 TRUE；  - 12 NOT BETWEEN SYMMETRIC 15 AND 12 返回 FALSE；  - 12 NOT BETWEEN NULL AND 15 返回 UNKNOWN；  - 12 NOT BETWEEN 15 AND NULL 返回 TRUE；  - 12 NOT BETWEEN SYMMETRIC 12 AND NULL 返回 UNKNOWN。   |
| string1 LIKE string2 \[ ESCAPE char \]                             | BOOLEAN  | 如果 string1 匹配 string2 返回 TRUE； 如果 string1 或 string2 为 NULL 返回 UNKNOWN。 如果需要可以定义转义字符。尚不支持转义字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| string1 NOT LIKE string2 \[ ESCAPE char \]                         | BOOLEAN  | 如果 string1 与 string2 不匹配返回 TRUE； 如果 string1 或 string2 为 NULL 返回 UNKNOWN。 如果需要可以定义转义字符。尚不支持转义字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| string1 SIMILAR TO string2 \[ ESCAPE char \]                       | BOOLEAN  | 如果 string1 匹配 SQL 正则表达式 string2 返回 TRUE； 如果 string1 或 string2 为 NULL 返回 UNKNOWN。 如果需要可以定义转义字符。尚不支持转义字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| string1 NOT SIMILAR TO string2 \[ ESCAPE char \]                   | BOOLEAN  | 如果 string1 与 SQL 正则表达式 string2 不匹配返回 TRUE； 如果 string1 或 string2 为 NULL 返回 UNKNOWN。 如果需要可以定义转义字符。尚不支持转义字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| value1 IN (value2 \[, value3\]\* )                                 | BOOLEAN  | 在给定列表 (value2, value3, ...) 中存在value1返回TRUE。 当列表包含NULL，如果可以找到value1则返回TRUE，否则返回UNKNOWN。 如果value1为NULL 则始终返回UNKNOWN。 例如： - 4 IN (1, 2, 3) 返回 FALSE；  - 1 IN (1, 2, NULL) 返回 TRUE；  - 4 IN (1, 2, NULL) 返回 UNKNOWN。                                                                                                                                                                                                                                                                                                   |
| value1 NOT IN (value2 \[, value3\]\* )                             | BOOLEAN  | 在给定列表 (value2, value3, ...) 中不存在 value1 返回 TRUE。 当列表包含NULL，如果可以找到value1则 返回FALSE，否则返回UNKNOWN。 如果value1为NULL，则始终返回UNKNOWN。 例如： - 4 NOT IN (1, 2, 3) 返回 TRUE；  - 1 NOT IN (1, 2, NULL) 返回 FALSE；  - 4 NOT IN (1, 2, NULL) 返回 UNKNOWN。                                                                                                                                                                                                                                                                                    |
| EXISTS (sub-query)                                                 | BOOLEAN  | 如果子查询至少返回一行则返回 TRUE。 仅支持可以在 join 和分组操作中可以被重写的操作。对于流式查询，该操作在 join 和分组操作中被重写。根据输入行的数量计算查询结果所需的状态可能会无限增长。 请提供具有有效保留间隔的查询配置，以防止状态过大。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| value IN (sub-query)                                               | BOOLEAN  | 如果 value 等于子查询结果集中的一行则返回 TRUE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| value NOT IN (sub-query)                                           | BOOLEAN  | 如果 value 不包含于子查询返回的行则返回 TRUE。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
