apoc.coll.avgDuration

函数 APOC Full

apoc.coll.avgDuration([duration('P2DT3H'), duration('PT1H45S'), …]) - 返回持续时间值列表的平均值

签名

apoc.coll.avgDuration(durations :: LIST? OF DURATION?) :: (DURATION?)

输入参数

名称 类型 默认

durations

LIST? OF DURATION?

null

使用示例

apoc.coll.avgDuration 的工作方式类似于 avg() 函数,但它不是聚合函数,而是接收一个持续时间(duration)列表作为参数。例如

WITH [duration('P2DT4H1S'), duration('PT1H1S'), duration('PT1H6S'), duration('PT1H5S')] AS durations
RETURN apoc.coll.avgDuration(durations) AS value
表 1. 结果

PT13H45M3.25S

如果输入为 null 或空列表,将返回 null 结果

RETURN apoc.coll.avgDuration([]) AS output;
RETURN apoc.coll.avgDuration(null) AS output;
表 2. 结果
输出

null

如果传入的不是持续时间列表,则会抛出 Type mismatch(类型不匹配)错误

RETURN apoc.coll.avgDuration([1,2,3]) AS value;
表 3. 结果

Type mismatch: expected List<Duration> but was List<Integer>

如果传入的列表中包含非持续时间类型的值,则会抛出 TypeError(类型错误)

RETURN apoc.coll.avgDuration([duration('PT1H1S'),2,3]) AS output;
表 4. 结果

Can’t coerce `Long(2)` to Duration

© . This site is unofficial and not affiliated with Neo4j, Inc.