RANGE 函数返回数值列表达式参数的值的范围。
它计算最大值与最小值之间的差异,如下所示:
range(expr) = max(expr) - min(expr);
您仅可对数值列应用
RANGE 函数。下列查询找到人口的年龄范围:
SELECT RANGE(age) FROM u_pop;
与其他聚集一样,当查询包括 GROUP BY 子句时,
RANGE 函数应用于组中的行,如下列示例所示:
SELECT RANGE(age) FROM u_pop GROUP BY birth;
由于将 DATE 值在内部存储为整数,因此,您可对 DATE 列使用 RANGE 函数。对于 DATE 列,返回值是该列中最早日期与最晚日期之间的天数。
忽略 NULL 值,除非列中的每个值都是 NULL。如果每个列值都是 NULL,则
RANGE 函数为那列返回 NULL。
Important: 以 32 位数字精度执行 RANGE
函数的所有计算,对于许多输入数据集,这都应足够。然而,当所有输入数据值都有 16 位数字或更高的精度时,该计算会丢失精度或返回不正确的结果。