函数 ifnull() 可以返回两个值中左起第一个非 null
的值;如果两个值均为 null
,则返回 null
。
两个值的数据类型不同时会触发数据转换,使最终返回的数据流的数据类型统一。
Arguments:
- 任意值1 <any>
- 任意值2 <any>
Returns:
- 结果 <any>
示例图集:(以下示例将在本图基础上运行)
在空图集中依次运行以下各行代码以创建该图数据:create().node_property(@default, "name").node_property(@default, "try1", int32).node_property(@default, "try2", int32).node_property(@default, "try3", int32)
insert().into(@default).nodes([{name:"Jason", try1:84}, {name:"Alice", try1:55, try2:79}, {name:"Lina"}, {name:"Eric", try1:39, try2:46, try3:61}, {name:"Pepe", try1:89}])
一般用法
示例:查找每个学生的最后一次重考成绩。已知每个学生有三次考试机会,通过则不再考,未重考的返回 null
find().nodes() as n
return table(n.name, ifnull(n.try3, n.try2))
| n.name | ifnull(n.try3, n.try2) |
|--------|------------------------|
| Jason | null |
| Alice | 79 |
| Lina | null |
| Eric | 61 |
| Pepe | null |