向量/集合/元组中的NULL值

含有NULL值的向量:

$ x=1 2 NULL NULL 3;
$ y=2 NULL NULL 3 4;
$ x+y;
[3,,,,7]

$ x*y;
[2,,,,12]

$ x**y;
14
// 内积

$ sum x;
6

$ x<y;
[1,0,0,1,1]

$ x||1;
[1,1,,,1]

// 除了<, <=这些关系运算符之外,任何在NULL值上的二元操作将会得到NULL值。

含有NULL值的集合:

$ a=set(1 NULL)
$ b=set(2 NULL);
$ x=a&b;
$ x;
set(00i)

// x和y的公共元素是NULL
$ NULL in x;
1
$ size(x);
1

// 集合x不为空,因为有一个NULL值。
$ c=set(2 3);
$ y=a&c;
$ y;
set()

$ size(y);
0

// 测试一个集合是否为空的唯一方式是size(y)==0

含有NULL值的元组:

$ x=(1, NULL);
$ x+1;
(2,)