更新日期:2024年09月11日
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
转换操作符和函数