基本谓词 (basic predicate)
基本谓词 将两个值进行比较,或者将一组值与另一组值进行比较。
这六个比较运算符可以有效地基于其中两个比较运算符来表示。 如果谓词操作数是 x 和 y,那么可以使用以下备用谓词来表示其他四个比较运算符。
| 谓词 | 备用谓词 |
|---|---|
x <> y |
非 ( x = y ) |
x > y |
y < x |
x <= y |
x < y 或 x = y |
x >= y |
y < x 或 x = y |
将谓词操作数指定为 表达式时,表达式的数据类型必须是可比较的。 如果任一操作数的值为空,那么谓词的结果未知。 否则,结果为 true 或 false。
| 谓词 (具有操作数值 x 和 y) | 布尔值 | If 和 Only If ... |
|---|---|---|
x = y |
为 true | x 等于 y |
x < y |
为 true | x 小于 y |
x = y |
为 false | x 不等于 y |
x < y |
为 false | x = y 为 True 或 y < x 为 True |
将谓词操作数指定为 row-value-expression时,它们必须具有相同数目的字段,并且操作数的相应字段的数据类型必须具有可比较性。 比较结果基于 row-value-expression 操作数中相应字段的比较。
| Predicate (with operand values 接收 and 里 that have fields 勒西 and 赖伊 where 0 < 我 < 字段数) | 布尔值 | If 和 Only If ... |
|---|---|---|
接收 = 接收 |
为 true | 所有对应值表达式对都相等 (对于 我的所有值,勒西 = 赖伊 为 True)。 |
接收 < 接收 |
为 true | 对应值表达式的前 N 对相等,下一个对的左值表达式小于 N 的某个值的右值表达式 (对于 我 < N 的所有值,勒西 = 赖伊 为 True ,对于 N的某个值, Rxn < 林 为 True)。 |
接收 = 接收 |
为 false | 至少一对对应的值表达式不相等 (对于 我的某些值, NOT (勒西 = 赖伊) 为 True)。 |
接收 < 接收 |
为 false | All pairs of corresponding value expressions are equal (接收 = 里 is True) or the first N pairs of corresponding value expressions are equal and the next pair has the right value expression less than the left value expression for some value of N (勒西 = 赖伊 is True for all values of 我 < N and 林 < Rxn is True for some value of N). |
接收 comparison
operator 接收 |
未知 | 比较既不为 True 也不为 False。 |
布尔值
您可以使用基本谓词将布尔值与另一个布尔值或可转换为布尔值的数据类型值进行比较。 TRUE 值大于 FALSE 值。 例如:
TRUE = 'on'为 trueDECFLOAT(4.3) = TRUE为 true'0' <= FALSE为 true'yes' <= FALSE为 false
备用表单
对于比较运算符 <>、<= 和 >=,也支持替代形式。 (¬=、¬< 和 ¬> 这三种形式仅在代码页 437、819 和 850 中支持。) 对这些备用表单的支持仅用于容纳现有 SQL 语句; 建议不要将这些表单用于新的 SQL 语句。
| 比较运算符 | 备用表单 |
|---|---|
<> |
^= != ¬= |
<= |
^> !> ¬> |
>= |
^< !< ¬< |
示例:
EMPNO='528671'
SALARY < 20000
PRSTAFF <> :VAR1
SALARY > (SELECT AVG(SALARY) FROM EMPLOYEE)
(YEARVAL, MONTHVAL) >= (2009, 10)
