比较运算函数
概述
以下比较运算符函数接受两个输入序列,即left和right,并生成布尔结果序列 result。 如果两个输入序列参数的长度不同,则操作仅在较短序列的元素数量范围内执行。
| 函数 | 说明 |
|---|---|
| seq_eq( left, right ) | 结果序列中的元素对于在 left 和 right 中对应且 相等 的元素为 true;否则为 false |
| seq_ne( left, right ) | 结果序列中的元素对于在 left 和 right 中对应且 不相等 的元素为 true;否则为 false |
| seq_gt( left, right ) | 结果序列中的元素对于在 left 中的元素 大于 right 中对应元素的情况为 true;否则为 false |
| seq_ge( left, right ) | 结果序列中的元素对于在 left 中的元素 大于或等于 right 中对应元素的情况为 true;否则为 false |
| seq_lt( left, right ) | 结果序列中的元素对于在 left 中的元素 小于 right 中对应元素的情况为 true;否则为 false |
| seq_le( left, right ) | 结果序列中的元素对于在 left 中的元素 小于或等于 right 中对应元素的情况为 true;否则为 false |
seq_eq()、seq_ne()、seq_gt()、seq_ge()、seq_lt()、seq_le() 这些函数通过将序列 1 中的元素值与序列 2 中对应元素的值进行比较,应用指定的逻辑运算来返回一个布尔值。通过查看下面的输出结果,可以轻松验证这些结果。
以下是一个示例脚本,演示了 seq_eq()、seq_ne()、seq_gt()、seq_ge()、seq_lt()、seq_le() 函数:
INSERT INTO SimpleSequence(testNumber,iVal1,iVal2)
VALUES(3,'{42,-13,27,19}','{42,-12,26,20}');
SELECT iVal1,iVal2,seq_eq(iVal1,iVal2) AS "eq" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_ne(iVal1,iVal2) AS "ne" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_gt(iVal1,iVal2) AS "gt" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_ge(iVal1,iVal2) AS "ge" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_lt(iVal1,iVal2) AS "lt" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_le(iVal1,iVal2) AS "le" FROM SimpleSequence WHERE testNumber=3;
iVal1{}
iVal2{}
eq{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 0, 0, 0}
iVal1{}
iVal2{}
ne{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 1, 1, 1}
iVal1{}
iVal2{}
gt{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 0, 1, 0}
iVal1{}
iVal2{}
ge{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 0, 1, 0}
iVal1{}
iVal2{}
lt{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 1, 0, 1}
iVal1{}
iVal2{}
le{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 1, 0, 1}示例
以下是一个示例代码片段,演示了比较运算符函数:
-- seq_eq, seq_ne, seq_gt, seq_ge, seq_lt, seq_le
INSERT INTO SimpleSequence(testNumber,iVal1,iVal2)
VALUES(3,'{42,-13,27,19}','{42,-12,26,20}');
SELECT iVal1,iVal2,seq_eq(iVal1,iVal2) AS "eq" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_ne(iVal1,iVal2) AS "ne" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_gt(iVal1,iVal2) AS "gt" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_ge(iVal1,iVal2) AS "ge" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_lt(iVal1,iVal2) AS "lt" FROM SimpleSequence WHERE testNumber=3;
SELECT iVal1,iVal2,seq_le(iVal1,iVal2) AS "le" FROM SimpleSequence WHERE testNumber=3;
iVal1{}
iVal2{}
eq{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 0, 0, 0}
iVal1{}
iVal2{}
ne{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 1, 1, 1}
iVal1{}
iVal2{}
gt{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 0, 1, 0}
iVal1{}
iVal2{}
ge{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 0, 1, 0}
iVal1{}
iVal2{}
lt{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{0, 1, 0, 1}
iVal1{}
iVal2{}
le{}
------------------------------------------------------------
{42, -13, 27, 19}
{42, -12, 26, 20}
{1, 1, 0, 1}示例脚本
可以在 samples/xsql/scripts/financial 目录中使用以下命令运行此 select 语句的示例脚本:
f 3