ESQL 简单比较运算符

本主题描述了 ESQL 的简单比较运算符。有关 ESQL 的复杂比较运算符的信息,请参阅 ESQL 复杂比较运算符

ESQL 提供比较运算符(谓词)的完整集合。每个比较运算符比较两个标量值,并返回一个布尔值。只要有一个操作数为 null,结果便为 null。否则,如果满足条件,结果为 true;如果不满足条件,结果为 false。

比较运算符可应用于所有标量数据类型。但如果两个操作数的类型不同,则应用特殊规则。隐式类型强制转换中有关于这些规则的描述。

某些比较运算符还支持行和列表的比较。下面列出了这些运算符。

运算符 >
第一个操作数大于第二个操作数。
运算符 <
第一个操作数小于第二个操作数。
运算符 >=
第一个操作数大于等于第二个操作数。
运算符 <=
第一个操作数小于等于第二个操作数。
运算符 =
第一个操作数等于第二个操作数。

该运算符还可以比较行和列表。有关列表和行比较的描述,请参阅 ROW 和 LIST 比较

运算符 <>
第一个操作数不等于第二个操作数。

该运算符还可以比较行和列表。有关列表和行比较的描述,请参阅 ROW 和 LIST 比较

在此上下文中,“等于”、“小于”和“大于”的含义如下:
  • 对于数字类型(INTEGER、FLOAT 和 DECIMAL),将比较数值。因此,4.2 大于 2.4,-2.4 大于 -4.2。
  • 对于日期/时间类型(DATE、TIME、TIMESTAMP、GMTTIME、GMTTIMESTAMP,但 INTERVAL 除外),较晚的时间点被视为大于较早的时间点。因此,日期 2004-03-31 大于日期 1947-10-24。
  • 对于 INTERVAL 类型,较大的时间间隔被视为大于较小的时间间隔。

对于字符串型(CHARACTER、BLOB 和 BIT),按字母顺序进行比较。从左边开始逐个比较元素(每个字符、字节或位)。如果找不到差异,表示这两个字符串相等。如果找到差异,当第一个操作数中的第一个不同元素大于第二个操作数中的相应元素时,表示第一个操作数大于第二个操作数,当第一个不同元素小于第二个操作数中的相应元素时,表示第一个操作数小于第二个操作数。在两个字符串长度不等但距离相等的特殊情况下,较长的字符串被视为大于较短的字符串。因此:

“ABD”大于“ABC”“ABC”大于“AB”
比较字符时忽略尾部空格。因此,如果要确保两个字符串确实相等,需要同时比较这两个字符串自身及其长度。例如:
“ABC”等于“ABC”

请注意,比较长度为 1 的字符串相当于比较单个字符、字节或位。由于 ESQL 没有单个字符、字节或位数据类型,因此标准做法是使用长度为 1 的字符串来比较单个字符、字节或位。

相关概念
消息流概述
消息映射概述
相关任务
开发消息流
正在开发 ESQL
相关参考
ESQL 复杂比较运算符
内置节点
ESQL 引用
ROW 和 LIST 比较
隐式类型强制转换
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ak01040_