clickhouse函数大全
时间: 2023-10-25 15:09:19 浏览: 140
以下是 ClickHouse 内置函数的大全:
1. 数学函数
- abs(x): 返回 x 的绝对值。
- sign(x): 返回 x 的符号,-1 表示负数,0 表示零,1 表示正数。
- ceil(x): 返回不小于 x 的最小整数值。
- floor(x): 返回不大于 x 的最大整数值。
- round(x, n): 返回 x 四舍五入到小数点后 n 位的值。
- exp(x): 返回 e 的 x 次幂。
- log(x [, base]): 返回以 base 为底的 x 的对数,如果省略 base ,则默认为 e 。
- ln(x): 返回以 e 为底的 x 的对数。
- pow(x, y): 返回 x 的 y 次幂。
- sqrt(x): 返回 x 的平方根。
- acos(x): 返回 x 的反余弦值,单位为弧度。
- asin(x): 返回 x 的反正弦值,单位为弧度。
- atan(x): 返回 x 的反正切值,单位为弧度。
- atan2(y, x): 返回 y/x 的反正切值,单位为弧度。
- cos(x): 返回 x 的余弦值,其中 x 的单位为弧度。
- sin(x): 返回 x 的正弦值,其中 x 的单位为弧度。
- tan(x): 返回 x 的正切值,其中 x 的单位为弧度。
- cot(x): 返回 x 的余切值,其中 x 的单位为弧度。
- sinh(x): 返回 x 的双曲正弦值。
- cosh(x): 返回 x 的双曲余弦值。
- tanh(x): 返回 x 的双曲正切值。
- asinh(x): 返回 x 的反双曲正弦值。
- acosh(x): 返回 x 的反双曲余弦值。
- atanh(x): 返回 x 的反双曲正切值。
2. 日期和时间函数
- now(): 返回当前日期和时间。
- today(): 返回当前日期。
- yesterday(): 返回昨天的日期。
- toYYYYMMDD(x): 将日期 x 格式化为“YYYYMMDD”。
- toYYYYMM(x): 将日期 x 格式化为“YYYYMM”。
- toYYYY(x): 将日期 x 格式化为“YYYY”。
- toStartOfMinute(x): 返回 x 所在分钟的开始时间。
- toStartOfHour(x): 返回 x 所在小时的开始时间。
- toStartOfDay(x): 返回 x 所在天的开始时间。
- toStartOfWeek(x): 返回 x 所在周的开始时间。
- toStartOfMonth(x): 返回 x 所在月的开始时间。
- toStartOfQuarter(x): 返回 x 所在季度的开始时间。
- toStartOfYear(x): 返回 x 所在年的开始时间。
- toRelativeWeekNum(x): 返回相对于年初的周数。
- toRelativeMonthNum(x): 返回相对于年初的月数。
- toRelativeQuarterNum(x): 返回相对于年初的季度数。
- toRelativeYearNum(x): 返回相对于年初的年数。
- addDays(x, n): 返回 x 加上 n 天后的日期。
- addHours(x, n): 返回 x 加上 n 小时后的日期。
- addMinutes(x, n): 返回 x 加上 n 分钟后的日期。
- addSeconds(x, n): 返回 x 加上 n 秒后的日期。
- addMonths(x, n): 返回 x 加上 n 个月后的日期。
- addYears(x, n): 返回 x 加上 n 年后的日期。
- subDays(x, n): 返回 x 减去 n 天后的日期。
- subHours(x, n): 返回 x 减去 n 小时后的日期。
- subMinutes(x, n): 返回 x 减去 n 分钟后的日期。
- subSeconds(x, n): 返回 x 减去 n 秒后的日期。
- subMonths(x, n): 返回 x 减去 n 个月后的日期。
- subYears(x, n): 返回 x 减去 n 年后的日期。
3. 字符串函数
- length(s): 返回字符串 s 的长度。
- replaceOne(s, from, to): 将字符串 s 中第一个出现的 from 替换为 to 。
- replaceAll(s, from, to): 将字符串 s 中所有出现的 from 替换为 to 。
- substring(s, start [, length]): 返回从字符串 s 的 start 位置开始的子字符串,如果指定了 length ,则返回指定长度的子字符串。
- lower(s): 返回字符串 s 的小写形式。
- upper(s): 返回字符串 s 的大写形式。
- concat(s1, s2 [, ...]): 将多个字符串连接为一个字符串。
- trimBoth(s): 返回去掉字符串 s 两端空格的字符串。
- trimLeading(s): 返回去掉字符串 s 左端空格的字符串。
- trimTrailing(s): 返回去掉字符串 s 右端空格的字符串。
- left(s, n): 返回字符串 s 的前 n 个字符。
- right(s, n): 返回字符串 s 的后 n 个字符。
- format(x, format): 将 x 格式化为指定格式的字符串。
4. 数组函数
- length(arr): 返回数组 arr 的长度。
- arrayJoin(arr, delimiter): 将数组 arr 的所有元素连接为一个字符串,每个元素之间用 delimiter 分隔。
- arrayMap(func, arr1 [, arr2, ..., arrN]): 对数组 arr1 到 arrN 中的每个元素应用 func 函数,并返回结果数组。
- arrayReduce(func, arr [, initialValue]): 对数组 arr 中的元素依次应用 func 函数,并返回最终的结果。
- arrayFilter(func, arr): 对数组 arr 中的每个元素应用 func 函数,返回所有符合条件的元素组成的数组。
- arrayExists(func, arr): 对数组 arr 中的每个元素应用 func 函数,如果至少有一个元素满足条件,则返回 true ,否则返回 false 。
- has(arr, x): 如果数组 arr 包含元素 x ,则返回 true ,否则返回 false 。
- indexOf(arr, x): 返回数组 arr 中第一个等于 x 的元素的位置,如果没有找到,则返回 -1 。
- arrayReverse(arr): 返回数组 arr 的逆序数组。
- arraySlice(arr, start [, length]): 返回数组 arr 中从 start 开始的子数组,如果指定了 length ,则返回指定长度的子数组。
- arraySort(arr [, func]): 返回数组 arr 排序后的数组,如果指定了 func 函数,则使用该函数进行排序。
5. 聚合函数
- count(x): 返回 x 的数量。
- any(x): 如果 x 中至少有一个非零元素,则返回 true ,否则返回 false 。
- all(x): 如果 x 中所有元素都非零,则返回 true ,否则返回 false 。
- sum(x): 返回 x 的总和。
- avg(x): 返回 x 的平均值。
- min(x): 返回 x 的最小值。
- max(x): 返回 x 的最大值。
- argMin(x, y): 返回 y 中 x 最小的位置。
- argMax(x, y): 返回 y 中 x 最大的位置。
- groupArray(x): 返回 x 分组后的数组。
- groupUniqArray(x): 返回 x 分组后的不重复元素数组。
- uniqArray(x): 返回 x 中的不重复元素的数组。
- quantile(x, q): 返回 x 的 q 分位数。
- median(x): 返回 x 的中位数。
- varSamp(x): 返回 x 的样本方差。
- varPop(x): 返回 x 的总体方差。
- stddevSamp(x): 返回 x 的样本标准差。
- stddevPop(x): 返回 x 的总体标准差。
以上是 ClickHouse 内置函数的大部分内容,还有一些特殊的函数和扩展函数可以在 ClickHouse 文档中查看。
阅读全文