函数 coalesce() 可以返回多个值(至少两个)中左起第一个非 null
的值;如果所有值均为 null
,则返回 null
。
多个值的数据类型不同时会触发数据转换,使最终返回的数据流的数据类型统一。
Arguments:
- 任意值 <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}])
一般用法
示例:查找每个学生的最后一次考试成绩。已知每个学生有三次考试机会,通过则不再考,未参加考试的返回 -1
find().nodes() as n
return table(n.name, coalesce(n.try3, n.try2, n.try1, -1))
| n.name | coalesce(n.try3, n.try2, n.try1, -1) |
|--------|--------------------------------------|
| Jason | 84 |
| Alice | 79 |
| Lina | -1 |
| Eric | 61 |
| Pepe | 89 |