比较运算函数
概述
以下比较运算符函数接受两个输入序列,即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