返回首页

gbase数据、南大通用产品文档:GBase8a

更新日期:2024年09月11日

gbase_stmt_store_result ......................
68
5
GBase C API 应用示例
..........................................
69

sysaggregates 系统目录表记录用户定义的聚集 (UDA)。sysaggregates 表具有以下列。

表 1. SYSAGGREGATES 表列描述

类型
解释
name
VARCHAR(128)
聚集的名称
owner
CHAR(32)
聚集所有者的名称

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 16 -


类型
解释
aggid
SERIAL
标识聚集的唯一代码
init_func
VARCHAR(128)
初始化 UDR 的名称
iter_func
VARCHAR(128)
迭代器 UDR 的名称
combine_func
VARCHAR(128)
组合 UDR 的名称
final_func
VARCHAR(128)
结束 UDR 的名称
handlesnulls
BOOLEAN
NULL 处理指示符:
t = 处理 NULL
f = 不处理 NULL

每个用户定义的聚集在 sysaggregates 中都有一个条目,
该条目由其标识代码
(aggid 值)
唯一标识。只有用户定义的聚集(不是内置的聚集)才会在 sysaggregates 中具有条目。
对 aggid 列的简单索引以及对 name 和 owner 列的组合索引都需要唯一值。

函数说明
当任意一个操作数为NULL 时,返回值为NULL。
对于非NULL 的操作数:
真(1)异或假(0)的结果是真,假(0)异或真(1)的结果也是真。
真(1)异或真(1)的结果是假,假(0)异或假(0)的结果是假。
就是说两个值不相同,则异或结果为真,反之,为假。
示例

示例1:操作数不是NULL,真异或真,结果为假,即返回值为0。
gbase> SELECT 1 XOR 1 FROM t;
+---------+
| 1 XOR 1 |
+---------+
| 0 |

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 380
+---------+
1 row in set

示例2:操作数不是NULL,真异或假,结果为真,即返回值为1。
gbase> SELECT 1 XOR 0 FROM t;
+---------+
| 1 XOR 0 |
+---------+
| 1 |
+---------+
1 row in set

示例3:任意一个操作数为NULL,则结果为NULL。
gbase> SELECT 1 XOR NULL FROM t;
+-------------+
| 1 XOR NULL |
+-------------+
| NULL |
+-------------+
1 row in set

gbase> SELECT 0 XOR NULL FROM t;
+-------------+
| 0 XOR NULL |
+-------------+
| NULL |
+-------------+
1 row in set

示例4:a XOR b 等价于(a AND (NOT b)) OR ((NOT a) AND b)。
gbase> SELECT 'a' XOR 'b';
+-------------+
| 'a' XOR 'b' |
+-------------+
| 0 |
+-------------+
1 row in set

gbase> SELECT ('a' AND (NOT 'b')) OR ((NOT 'a') AND 'b');
+--------------------------------------------+
| ('a' AND (NOT 'b')) OR ((NOT 'a') AND 'b') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 381
1 row in set

示例5:将同一个数异或比较后的结果,再次与该数进行异或比较,则结果为
1。
gbase> SELECT 1 XOR 1 XOR 1 FROM t;
+---------------+
| 1 XOR 1 XOR 1 |
+---------------+
| 1 |
+---------------+
1 row in set
转换操作符和函数