ClickHouse 到底有多神?

3个月前 (02-05) 0 点赞 0 收藏 0 评论 10 已阅读

ClickHouse 是一个高性能的列式数据库管理系统,它提供了大量的内置函数来处理各种数据类型和操作。以下是一些在 ClickHouse 中常用的函数类别和例子:

1. 聚合函数:

- `count()`: 计算行数。

- `sum()`: 计算数值列的总和。

- `avg()`: 计算数值列的平均值。

- `min()`: 获取列中的最小值。

- `max()`: 获取列中的最大值。

- `groupArray()`: 将一组值合并成一个数组。

- `any()`: 返回任意的非空值。

2. 数学函数:

- `round()`: 数值四舍五入到最接近的整数。

- `floor()`: 向下取整。

- `ceil()`: 向上取整。

- `abs()`: 绝对值。

3. 字符串函数:

- `length()`: 返回字符串的长度。

- `lower()`: 将字符串转换为小写。

- `upper()`: 将字符串转换为大写。

- `concat()`: 字符串拼接。

- `substring()`: 提取子字符串。

4. 日期和时间函数:

- `now()`: 返回当前时间。

- `toDate()`: 将日期时间转换为日期。

- `toStartOfMonth()`: 获取月份的第一天。

- `formatDateTime()`: 格式化日期时间值。

5. 类型转换函数:

- `toInt32()`, `toInt64()`, 等:将值转换为整数。

- `toFloat32()`, `toFloat64()`: 将值转换为浮点数。

- `toString()`: 将值转换为字符串。

6. 数组函数:

- `arrayJoin()`: 展开数组成为一系列的行。

- `arrayElement()`: 获取数组中的元素。

- `arraySort()`: 对数组进行排序。

7. 条件函数:

- `if()`: 条件表达式。

- `multiIf()`: 多条件表达式,类似于其他语言中的 `switch` 或 `case`。

8. IP地址函数:

- `IPv4NumToString()`: 将IPv4数字格式转换为字符串格式。

- `IPv4StringToNum()`: 将IPv4字符串格式转换为数字格式。

9. JSON函数:

- `JSONExtract()`: 从JSON字符串中提取值。

- `JSONExtractInt()`, `JSONExtractFloat()`, 等:提取特定类型的值。

10. 窗口函数:

- `rowNumberInAllBlocks()`: 在所有块中为行分配一个编号。

- `rank()`, `rowNumber()`, 等:计算行的排名或编号。

这些只是 ClickHouse 提供的部分函数。由于 ClickHouse 经常更新,它还可能提供了更多的新函数和功能。你可以查看 ClickHouse 的官方文档以获取最新和最全面的函数列表。


本文收录在
0评论

登录

忘记密码 ?

切换登录

注册