计算引擎

简介

GrowingIO使用Clickhouse开源软件作为数据存储和分析计算的核心引擎,结合自研的高性能算法,获得超高效率的应用支撑。

在数据校验、问题排查、二次开发等诸多场景中,您将会编写SQL语句直接在Clickhouse中运行。虽然Clickhouse提供了非常丰富的函数集,不过对于习惯Hive等语法的开发者或分析师来说,了解Clickhouse中标准语法和常用函数,对于快速上手是大有裨益的。

本文档仅提供Clickhouse引擎部分常用函数,更多资料请参阅Clickhouse官网。

功能说明

展示了Clickhouse常用函数

字符串函数

函数

用途

举例

结果

length(str)

返回字符串的长度

length('abc')

返回3

concat(s1,s2....)

将字符串拼接

concat('ab','c')

返回abc

lower(str)

将字符串转为小写

lower('ABc')

返回abc

upper(str)

将字符串转为大写

upper('abC')

返回ABC

substring(str, offset, length)

字符串截取

substring('abc', 1, 2)

返回ab

like(str,patten)

模糊匹配

like('abc','%a%')

like('abc','%z%')

返回1

返回0

replace(str,patten

,replacement)

字符串替换

replace('abc','a','z')

返回zbc

数学函数

函数

用途

举例

结果

pow(x, y)

返回x的y次方

pow(2, 3)

返回8

sqrt(x)

对x开平方

sqrt(4)

返回2

cbrt(x)

对x开立方

cbrt(8)

返回2

舍入函数

函数

用途

举例

结果

round(x[, N])

四舍五入

round(12.67, 1)

返回12.7

floor(x[, N])

向下取数

floor(12.67,1)

返回12.6

ceil(x[, N])

向上取数

ceil(12.67,1)

返回12.7

日期函数

函数

用途

举例

结果

now()

当前时间

now()

返回2021-06-01 00:00:00

today()

今日日期

today()

返回2021-06-01

yesterday()

昨日日期

yesterday()

返回2021-05-31

formatDateTime(Time

, Format[, Timezone])

时间格式化

formatDateTime(now(),'%Y-%m-%d')

返回2021-06-01

dateDiff(t1,t2,unit)

计算两个时间差值

dateDiff('day',yesterday(),today())

dateDiff('hour',yesterday(),today())

dateDiff('minute',yesterday(),today())

dateDiff('second',yesterday(),today())

返回1

返回24

返回1440

返回86400

addDays(t,n)

增加日期

addDays(today(),1)

返回2021-06-02

formatDateTime常用修饰符

修饰符

描述

示例

%Y

2021

%m

月份(01-12)

06

%d

月中的一天(01-31)

01

%H

24小时格式(00-23)

00

%M

分钟(00-59)

00

%S

秒 (00-59)

00

​​

聚合函数

函数

用途

count

计数

sum

求和

avg

求平均

min

求最小值

max

求最大值

类型转换函数

函数

用途

举例

结果

toString

将数值型、字符型、日期等

转化为字符型

toString(today())

返回2021-06-01

toDate

将字符型转化为日期

toDate('2021-06-01')

返回2021-06-01

toInt64

将字符型转化为整型

toInt64('12')

返回12

其他函数

函数

用途

举例

结果

if(cond,then,else)

条件输出

if(1 > 2,'OK','NO')

返回NO