本主题描述了 ESQL 的简单比较运算符。有关 ESQL 的复杂比较运算符的信息,请参阅 ESQL 复杂比较运算符。
ESQL 提供比较运算符(谓词)的完整集合。每个比较运算符比较两个标量值,并返回一个布尔值。只要有一个操作数为 null,结果便为 null。否则,如果满足条件,结果为 true;如果不满足条件,结果为 false。
比较运算符可应用于所有标量数据类型。但如果两个操作数的类型不同,则应用特殊规则。隐式类型强制转换中有关于这些规则的描述。
某些比较运算符还支持行和列表的比较。下面列出了这些运算符。
该运算符还可以比较行和列表。有关列表和行比较的描述,请参阅 ROW 和 LIST 比较。
该运算符还可以比较行和列表。有关列表和行比较的描述,请参阅 ROW 和 LIST 比较。
对于字符串型(CHARACTER、BLOB 和 BIT),按字母顺序进行比较。从左边开始逐个比较元素(每个字符、字节或位)。如果找不到差异,表示这两个字符串相等。如果找到差异,当第一个操作数中的第一个不同元素大于第二个操作数中的相应元素时,表示第一个操作数大于第二个操作数,当第一个不同元素小于第二个操作数中的相应元素时,表示第一个操作数小于第二个操作数。在两个字符串长度不等但距离相等的特殊情况下,较长的字符串被视为大于较短的字符串。因此:
“ABD”大于“ABC”“ABC”大于“AB”
“ABC”等于“ABC”
请注意,比较长度为 1 的字符串相当于比较单个字符、字节或位。由于 ESQL 没有单个字符、字节或位数据类型,因此标准做法是使用长度为 1 的字符串来比较单个字符、字节或位。