NULL 值的操作

NULL值或缺省值在数据分析中很常见。为达到最优性能,DolphinDB对NULL值进行了优化处理。本章中,我们会解释如何表示,初始化和处理NULL值。我们还会讨论NULL值在普通向量函数、聚合函数以及高阶函数中的使用方法。

DolphinDB内有两种类型的NULL值:VOID类型的NULL和其它类型的NULL(如int(), double(), string(NULL)等)。通常,在赋值语句或表达式中使用无返回值的函数时,将会得到一个VOID类型的NULL。通过函数 isVoid 判断是否为VOID类型的NULL, 通过函数 isNullisValid 可以检查所有NULL值,包括VOID和有类型的NULL。对于不关心NULL类型的用户,建议使用 isNullisValid 进行条件判断。

自 2.00.10版本开始,支持全部小写形式的 null 值。

typestr(NULL);
//output
VOID

isNull(null)
//output
true

def f(){
   1+2
}
typestr(f())
//output
VOID

typestr(int());
//output
INT

isVoid(NULL)
//output
true

isVoid(int())
//output
false

isNull(NULL)
//output
true

isNull(00i)
//output
true

不同类型的NULL进行运算时,会将VOID的NULL转换为对应的类型,再进行操作。

in(1 00f NULL 1.3, 00f) == [false, true, true, false]
//output
[true,true,true,true]