日志服务支持如下数学计算函数。
说明
-
支持如下运算符:
+-*/%
其中,使用运算符/时,默认不保留小数部分。您可通过
x*1.0/y
运算,保留小数部分。 -
在日志服务分析语句中,表示字符串的字符必须使用单引号(”)包裹,无符号包裹或被双引号(””)包裹的字符表示字段名或列名。例如:’status’表示字符串status,status或”status”表示日志字段status。
函数名称 |
语法 |
说明 |
abs函数 |
abs(x) |
计算x的绝对值。 |
acos函数 |
acos(x) |
计算x的反余弦。 |
asin函数 |
asin(x) |
计算x的反正弦。 |
atan函数 |
atan(x) |
计算x的反正切。 |
atan2函数 |
atan2(x, y) |
计算x和y相除的结果的反正切。 |
cbrt函数 |
cbrt(x) |
计算x的立方根。 |
ceil函数 |
ceil(x) |
对x进行向上取整数。 ceil函数是ceiling函数的别名。 |
ceiling函数 |
ceiling(x) |
对x进行向上取整数。 |
cos函数 |
cos(x) |
计算x的余弦。 |
cosh函数 |
cosh(x) |
计算x的双曲余弦。 |
cosine_similarity函数 |
cosine_similarity(x, y) |
计算x和y之间的余弦相似度。 |
degrees函数 |
degrees(x) |
将弧度转换为度。 |
e函数 |
e() |
返回自然底数e的值。 |
exp函数 |
exp(x) |
计算自然底数e的x次幂。 |
floor函数 |
floor(x) |
对x进行向下取整数。 |
from_base函数 |
from_base(x, y) |
根据BASE编码将x转为y进制的数字。 |
ln函数 |
ln(x) |
计算x的自然对数。 |
infinity函数 |
infinity() |
返回正无穷的数值。 |
is_nan函数 |
is_nan(x) |
判断x是否为NaN。 |
log2函数 |
log2(x) |
计算x以2为底的对数。 |
log10函数 |
log10(x) |
计算x以10为底的对数。 |
log函数 |
log(x, y) |
计算x以y为底的对数。 |
mod函数 |
mod(x, y) |
计算x与y相除的余数。 |
nan函数 |
nan() |
返回一个NaN值。 |
pi函数 |
pi() |
返回π值,精确到小数点后15位。 |
pow函数 |
pow(x, y) |
计算x的y次幂。 pow函数是power函数的别名。 |
power函数 |
power(x, y) |
计算x的y次幂。 |
radians函数 |
radians(x) |
将度转换为弧度。 |
rand函数 |
rand() |
返回随机数。 |
random函数 |
random() |
返回[0,1)之间的随机数。 |
random(x) |
返回[0,x)之间的随机数。 |
|
round函数 |
round(x) |
对x进行四舍五入取整数。 |
round(x, n) |
对x进行四舍五入且保留n位小数。 |
|
sign函数 |
sign(x) |
返回x的符号,通过1、0、-1表示。 |
sin函数 |
sin(x) |
计算x的正弦。 |
sqrt函数 |
sqrt(x) |
计算x的平方根。 |
tan函数 |
tan(x) |
计算x的正切。 |
tanh函数 |
tanh(x) |
计算x的双曲正切。 |
to_base函数 |
to_base(x, y) |
根据BASE编码将x转为y进制的字符串。 |
truncate函数 |
truncate(x) |
截断x的小数部分。 |
width_bucket函数 |
width_bucke(x, bound1, bound2, numBuckets) |
将一段数值范围划分成大小相同的多个Bucket,然后返回x所属的Bucket。 |
width_bucke(x, bins) |
使用数组指定Bucket的范围,然后返回x所属的Bucket。 |
abs函数
abs函数用于计算x的绝对值。
语法
abs(x)
参数说明
参数 |
说明 |
x |
参数值为smallint类型、integer类型、real类型、tinyint类型、bigint类型、double类型或decimal类型。 |
返回值类型
与参数值的类型一致。
示例
计算-25的绝对值。
-
查询和分析语句
* | select abs(-25)
-
查询和分析结果
acos函数
acos函数用于计算x的反余弦。
语法
acos(x)
参数说明
参数 |
说明 |
x |
参数值为double类型,取值范围为[-1,1]。 如果超出[-1,1],则返回NaN。 |
返回值类型
double类型。
示例
计算45°角的反余弦。
-
查询和分析语句
* | SELECT acos(pi()/4)
-
查询和分析结果
asin函数
asin函数用于计算x的反正弦。
语法
asin(x)
参数说明
参数 |
说明 |
x |
参数值为double类型,取值范围为[-1,1]。 如果超出[-1,1],则返回NaN。 |
返回值类型
double类型。
示例
计算45°角的反正弦。
-
查询和分析语句
* | SELECT asin(pi()/4)
-
查询和分析结果
atan函数
atan函数用于计算x的反正切。
语法
atan(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算45°角的反正切。
-
查询和分析语句
* | SELECT atan(pi()/4)
-
查询和分析结果
atan2函数
atan2函数用于计算x和y相除的结果的反正切。
语法
atan2(x, y)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
y |
参数值为double类型。 |
返回值类型
double类型。
示例
计算30°角的反正切。
-
查询和分析语句
* | SELECT atan2(pi(),6)
-
查询和分析结果
cbrt函数
cbrt函数用于计算x的立方根。
语法
cbrt(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算100的立方根。
-
查询和分析语句
* | select cbrt(100)
-
查询和分析结果
ceil函数
ceil函数用于对x进行向上取整数。ceil函数是ceiling函数的别名。
语法
ceil(x)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer、real、bigint、double、decimal类型 。
|
返回值类型
与参数值的类型一致。
示例
对request_time字段的值进行向上取整数。
-
字段样例
request_time:9.3
-
查询和分析语句
* | SELECT ceil(request_time) AS request_time
-
查询和分析结果
ceiling函数
ceiling函数用于对x进行向上取整数。
语法
ceiling(x)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer、real、bigint、double、decimal类型 。
|
返回值类型
与参数值的类型一致。
示例
对request_time字段的值进行向上取整数。
-
字段样例
request_time:9.3
-
查询和分析语句
* | SELECT ceiling(request_time) AS request_time
-
查询和分析结果
cos函数
cos函数用于计算x的余弦。
语法
cos(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算30°角的余弦。
-
查询和分析语句
* | SELECT cos(pi()/6)
-
查询和分析结果
cosh函数
cosh函数用于计算x的双曲余弦。
语法
cosh(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算30°角的双曲余弦。
-
查询和分析语句
* | SELECT cosh(pi()/6)
-
查询和分析结果
cosine_similarity函数
cosine_similarity函数用于计算x和y之间的余弦相似度。
语法
cosine_similarity(x, y)
参数说明
参数 |
说明 |
x |
参数值为map(varchar,double)类型。 |
y |
参数值为map(varchar,double)类型。 |
返回值类型
double类型。
示例
计算两个向量之间的余弦相似度。
-
查询和分析语句
* | SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0]))
-
查询和分析结果
degrees函数
degrees函数用于将弧度转换为度。
语法
degrees(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
将弧度π转换为度。
-
查询和分析语句
* | SELECT degrees(pi())
-
查询和分析结果
e函数
e函数用于返回自然底数e的值。
语法
e()
返回值类型
double类型。
示例
返回自然底数e的值。
-
查询和分析语句
* | SELECT e()
-
查询和分析结果
exp函数
exp函数用于计算自然底数e的x次幂。
语法
exp(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算自然底数e的3次幂。
-
查询和分析语句
* | SELECT exp(3)
-
查询和分析结果
floor函数
floor函数用于对x进行向下取整数。
语法
floor(x)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer、real、bigint、double、decimal类型 。
|
返回值类型
double类型。
示例
对request_time字段的值进行向下取整数。
-
字段样例
request_time:10.3
-
查询和分析语句
* | SELECT floor(request_time) AS request_time
-
查询和分析结果
from_base函数
from_base函数将根据BASE编码将x转为y进制的数字。
语法
from_base(x, y)
参数说明
参数 |
说明 |
x |
参数值为varchar类型。 |
y |
参数值为bigint类型。进制,取值范围为[2,36]。 |
返回值类型
bigint类型。
示例
将字符串1101转换为数字。
-
查询和分析语句
* | SELECT from_base('1101',2)
-
查询和分析结果
ln函数
ln函数用于计算x的自然对数。
语法
ln(x)
参数说明
参数 |
说明 |
x |
参数值为double类型且大于0。 |
返回值类型
double类型。
示例
计算2的自然对数。
-
查询和分析语句
* | SELECT ln(2)
-
查询和分析结果
infinity函数
infinity函数用于返回正无穷的数值。
语法
infinity()
返回值类型
double类型。
示例
用于返回正无穷的数值。
-
查询和分析语句
* | SELECT infinity()
-
查询和分析结果
is_nan函数
is_nan函数用于判断x是否为NaN。如果是,则返回true。
语法
is_nan(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
boolean类型。
示例
判断status字段的值是否为NaN。
-
查询和分析语句
* | SELECT is_nan(status)
-
查询和分析结果
log2函数
log2函数用于计算x以2为底的对数。
语法
log2(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算100以2为底的对数。
-
查询和分析语句
* | SELECT log2(100)
-
查询和分析结果
log10函数
log10函数用于计算x以10为底的对数。
语法
log10(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算100以10为底的对数。
-
查询和分析语句
* | SELECT log10(100)
-
查询和分析结果
log函数
log函数用于计算x以y为底数的对数。
语法
log(x, y)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
y |
参数值为double类型。 |
返回值类型
double类型。
示例
计算100以5为底数的对数。
-
查询和分析语句
* | SELECT log(100,5)
-
查询和分析结果
mod函数
mod函数用于计算x与y相除的余数。
语法
mod(x, y)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer、real、bigint、double、decimal类型。 |
y |
参数值为tinyint、smallint、integer、real、bigint、double、decimal类型。 |
返回值类型
与参数值的数据类型一致。
示例
计算100与30相除的余数。
-
查询和分析语句
* | SELECT mod(100,30)
-
查询和分析结果
nan函数
nan函数用于返回一个NaN值(Not a Number)。
语法
nan()
返回值类型
double类型。
示例
返回一个NaN值。
-
查询和分析语句
* | SELECT nan()
-
查询和分析结果
pi函数
pi函数用于返回π值,精确到小数点后15位。
语法
pi()
返回值类型
double类型。
示例
返回π值,精确到小数点后15位。
-
查询和分析语句
* | SELECT pi()
-
查询和分析结果
pow函数
pow函数用于计算x的y次幂。pow函数是power函数的别名。
语法
pow(x, y)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
y |
参数值为double类型。 |
返回值类型
double类型。
示例
计算2的5次幂。
-
查询和分析语句
* | SELECT pow(2,5)
-
查询和分析结果
power函数
power用于计算x的y次幂。
语法
power(x, y)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
y |
参数值为double类型。 |
返回值类型
double类型。
示例
计算2的5次幂。
-
查询和分析语句
* | SELECT power(2,5)
-
查询和分析结果
radians函数
radians函数用于将度转换为弧度。
语法
radians(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算180°对应的弧度。
-
查询和分析语句
* | SELECT radians(180)
-
查询和分析结果
rand函数
rand函数用于返回随机数。
语法
rand()
返回值类型
double类型。
示例
返回一个随机数。
-
查询和分析语句
* | select rand()
-
查询和分析结果
random函数
random函数用于返回[0,x)之间的随机数。
语法
-
返回[0,1)之间的随机数。
random()
-
返回[0,x)之间的随机数。
random(x)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer或bigint类型。 |
返回值类型
与参数值的类型一致。
示例
返回[0,100)之间的随机数。
-
查询和分析语句
* | select random(100)
-
查询和分析结果
round函数
round函数用于对x进行四舍五入。如果n存在,则保留n位小数;如果n不存在,则对x进行四舍五入取整数。
语法
-
对x进行四舍五入取整数。
round(x)
-
对x进行四舍五入且保留n位小数。
round(x, n)
参数说明
参数 |
说明 |
x |
参数值为tinyint、smallint、integer或bigint类型。 |
n |
n位小数。 |
返回值类型
与参数值的数据类型一致。
示例
同比今天与昨天的访问PV,并使用百分数表示。
-
查询和分析语句
* | SELECT diff [1] AS today, round((diff [3] -1.0) * 100, 2) AS growth FROM (SELECT compare(pv, 86400) as diff FROM (SELECT COUNT(*) as pv FROM website_log))
-
查询和分析结果
sign函数
sign函数用于返回x的符号,通过1、0、-1表示。
语法
sign(x)
参数说明
参数 |
说明 |
x |
参数值为integer、smallint、tinyint、real、 double、bigint或decimal(p,s)类型。
|
返回值类型
与参数值的数据类型一致。
示例
计算数字10的符号。
-
查询和分析语句
* | SELECT sign(10)
-
查询和分析结果
sin函数
sin函数用于计算x的正弦。
语法
sin(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算90°角的正弦。
-
查询和分析语句
* | select sin(pi()/2)
-
查询和分析结果
sqrt函数
sqrt函数用于计算x的平方根。
语法
sqrt(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算100的平方根。
-
查询和分析语句
* | select sqrt(100)
-
查询和分析结果
tan函数
tan函数用于计算x的正切。
语法
tan(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算tan30°角的正切。
-
查询和分析语句
* | SELECT tan(pi()/6)
-
查询和分析结果
tanh函数
tanh函数用于计算x的双曲正切。
语法
tanh(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
计算30°的双曲正切。
-
查询和分析语句
* | SELECT tanh(pi()/6)
-
查询和分析结果
to_base函数
to_base函数将根据BASE编码将x转为y进制的字符串。
语法
to_base(x, y)
参数说明
参数 |
说明 |
x |
参数值为bigint类型。 |
y |
参数值为bigint类型。进制,取值范围为[2,36]。 |
返回值类型
varchar类型。
示例
将180转换为二进制字符串。
-
查询和分析语句
* | SELECT to_base(180, 2)
-
查询和分析结果
truncate函数
truncate函数用于截断x的小数部分。
语法
truncate(x)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
返回值类型
double类型。
示例
截断11.11的小数部分。
-
查询和分析语句
* | SELECT truncate(11.11)
-
查询和分析结果
width_bucket函数
width_bucket函数用于返回x所属的Bucket。
语法
-
将一段数值范围划分成大小相同的多个Bucket,然后返回x所属的Bucket。
width_bucket(x, bound1, bound2, numBuckets)
-
使用数组指定Bucket的范围,然后返回x所属的Bucket。
width_bucket(x, bins)
参数说明
参数 |
说明 |
x |
参数值为double类型。 |
bound1 |
提供数值范围的下限。 |
bound2 |
提供数值范围的上限。 |
numBuckets |
Bucket数量。大于0的整数。 |
bins |
使用数组指定Bucket的范围。bins为double类型的数组。 |
返回值类型
bigint类型。
说明
-
x在指定范围内,返回x的所属的Bucket。
-
x在下限范围外,返回0。
-
x在上限范围外,返回numBuckets+1。
示例
-
示例1:将[10,80)范围等分为7个Bucket,然后返回request_time字段的各个值所属的Bucket。
-
查询和分析语句
* | SELECT request_time, width_bucket(request_time, 10, 80,7) AS numBuckets
-
查询和分析结果
-
-
示例2:使用数组指定7个Bucket的范围,然后返回request_time字段的各个值所属的Bucket。
-
查询和分析语句
* | SELECT request_time, width_bucket(request_time, array[10,20,30,40,50,60,70,80]) AS numBuckets
-
查询和分析结果
-
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/164126.html