逻辑运算函数
概述
以下逻辑运算符函数接受一个布尔序列作为输入参数,或者接受两个布尔输入序列(left和right),并生成布尔结果序列。 如果两个输入序列参数的长度不同,则操作仅在两个序列中较短的那个序列的元素数量范围内执行。
函数 | 说明 |
---|---|
seq_not(input) | 结果序列中的元素是输入序列中对应元素的逻辑非 |
seq_and(left, right) | 结果序列中的元素是left和right中对应元素的逻辑与 |
seq_or(left, right) | 结果序列中的元素是left和right中对应元素的逻辑或 |
seq_xor(left, right) | 结果序列中的元素是left和right中对应元素的逻辑异或 |
seq_not()
、seq_and()
、seq_or()
和 seq_xor()
函数接受两个布尔类型的序列参数,并返回一个布尔类型的序列。这些函数对两个序列中对应的元素应用指定的操作。
以下是一个示例脚本,演示了 seq_and()、seq_or() 和 seq_xor() 函数:
INSERT INTO SimpleSequence(testNumber,bVal1,bVal2)
VALUES(4,'{1,1,0,0}','{1,0,1,0}');
SELECT bVal2,seq_not(bVal2) AS "not" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_and(bVal1,bVal2) AS "and" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_or(bVal1,bVal2) AS "or" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_xor(bVal1,bVal2) AS "xor" FROM SimpleSequence WHERE testNumber=4;
bVal2{}
not{}
--------------------------------------------
{1, 0, 1, 0}
{0, 1, 0, 1}
bVal1{}
bVal2{}
and{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{1, 0, 0, 0}
bVal1{}
bVal2{}
or{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{1, 1, 1, 0}
bVal1{}
bVal2{}
xor{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{0, 1, 1, 0}
示例
以下是一个示例代码片段,展示了逻辑运算符函数:
-- seq_not, seq_and, seq_or, seq_xor
INSERT INTO SimpleSequence(testNumber,bVal1,bVal2)
VALUES(4,'{1,1,0,0}','{1,0,1,0}');
SELECT bVal2,seq_not(bVal2) AS "not" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_and(bVal1,bVal2) AS "and" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_or(bVal1,bVal2) AS "or" FROM SimpleSequence WHERE testNumber=4;
SELECT bVal1,bVal2,seq_xor(bVal1,bVal2) AS "xor" FROM SimpleSequence WHERE testNumber=4;
bVal2{}
not{}
--------------------------------------------
{1, 0, 1, 0}
{0, 1, 0, 1}
bVal1{}
bVal2{}
and{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{1, 0, 0, 0}
bVal1{}
bVal2{}
or{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{1, 1, 1, 0}
bVal1{}
bVal2{}
xor{}
--------------------------------------------
{1, 1, 0, 0}
{1, 0, 1, 0}
{0, 1, 1, 0}
示例脚本
可以在 samples/xsql/scripts/financial 目录中使用以下命令运行此 select 语句的示例脚本:
f 3