Appearance
数学相关函数
以下所有的函数不全是返回一个 Float64 类型的数值。返回结果总是以尽可能最大精度返回,但还是可能与机器中可表示最接近该值的数值不同。
如果参数不能转为数值,将会使用 0 代替
例如:
sql
┌─abs('abc')──────┐
│ 0 │
└─────────────────┘
表达式中参数说明:
- expr :表达式
- columnName :字段名
abs
绝对值函数。
语法
sql
abs(n: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT abs(-1)
┌─abs(-1)───────────────────────┐
│ 1 │
└───────────────────────────────┘
exp
返回 e
的 x
次方
语法
sql
exp(n: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT exp(2), exp('abc')
┌──exp(2)─────────────┬──exp('abc')───────┐
│ 7.38905609893065 │ NULL |
└─────────────────────┴───────────────────┘
log
返回自然对数 (以 e 为底的对数)
语法
sql
log(n: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
当参数不能转为数值时,将会使用 0 代替,该函数将返回 NULL
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT log(10), log('abc')
┌──log(10) ────────────┬──log('abc')─────┐
│ 2.302585092994046 │ NULL |
└──────────────────────┴─────────────────┘
log2
返回以 2 为底的对数
语法
sql
log2(n: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
当参数不能转为数值时,将会使用 0 代替,该函数将返回 NULL
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT log2(65536), log2('abc')
┌──log2(65536)────┬──log2('abc')─────┐
│ 16 │ NULL |
└─────────────────┴──────────────────┘
log10
返回以 10 为底的对数
语法
sql
log10(n: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
当参数不能转为数值时,将会使用 0 代替,该函数将返回 NULL
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT log10(100), log10('abc')
┌──log10(100) ────┬──log10('abc')─────┐
│ 2 │ NULL |
└─────────────────┴───────────────────┘
pow/power
返回 x
的 y
次方
语法
sql
pow/power(x: expr | columnName, y: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT pow/power(2, 2)
┌──pow/power(2, 2)──────────┐
│ 4 │
└───────────────────────────┘
sqrt
返回 x
的平方根,如果 x < 0
, 则返回 NULL
语法
sql
sqrt(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT sqrt(16)
┌──sqrt(16) ─────────────────┐
│ 4 │
└────────────────────────────┘
cos
求余弦值
语法
sql
cos(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT cos(45)
┌──cos(45) ─────────────────┐
│ 0.5253219888177297 │
└───────────────────────────┘
sin
求正弦值
语法
sql
sin(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT sin(45)
┌──sin(45) ─────────────────┐
│ 0.850903524534118 │
└───────────────────────────┘
tan
求正切值
语法
sql
tan(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT tan(45)
┌──tan(45) ─────────────────┐
│ 1.619775190543861 │
└───────────────────────────┘
acos
求 x
的反余弦值
语法
sql
acos(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT acos(0.75)
┌──acos(0.75) ─────────────────┐
│ 0.7227342478134156 │
└──────────────────────────────┘
asin
求反正弦值
语法
sql
asin(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT asin(0.2)
┌──asin(0.2) ─────────────────┐
│ 0.20135792079033082 │
└─────────────────────────────┘
atan
求反正切值
语法
sql
atan(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT atan(0.75)
┌──atan(0.75) ────────────────┐
│ 0.6435011087932844 │
└─────────────────────────────┘
atan2
求反正切值
语法
sql
atan2(x: expr | columnName, y: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT atan2(0.75, 1)
┌──atan2(0.75, 1) ─────────────┐
│ 0.6435011087932844 │
└──────────────────────────────┘
ceil
向上取整,如果 x
为 NULL
,则返回 NULL
语法
sql
ceil(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT ceil(1.2)
┌──ceil(1.2) ─────────────────┐
│ 2 │
└─────────────────────────────┘
floor
向下取整,如果 x
为 NULL
,则返回 NULL
语法
sql
floor(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT floor(1.2)
┌──floor(1.2) ──────────────────┐
│ 1 │
└───────────────────────────────┘
round
返回最接近 x
的整数,如果 x
为 NULL
,则返回 NULL
语法
sql
round(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT round(1.2)
┌──round(1.2) ──────────────────┐
│ 1 │
└───────────────────────────────┘
sign
返回 x
的符号,x
是负数、0、正数分别返回 -1
、0
和 1
语法
sql
sign(x: expr | columnName)
参数
expr
- 表达式。columnName
- 字段名或字段别名。
返回值
- 返回 Int64 类型的数值
示例
sql
> SELECT sign(1)
┌──sign(1) ─────────────────────┐
│ 1 │
└───────────────────────────────┘
pi
返回圆周率
语法
sql
pi()
参数
无参数
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT pi()
┌──pi() ────────────────────────┐
│ 3.141592653589793 │
└───────────────────────────────┘
rand
返回 0 到 1 的随机数
语法
sql
rand()
参数
无参数
返回值
- 返回 Float64 类型的数值
示例
sql
> SELECT rand()
┌──rand()───────────────────────┐
│ 0.6197751905438615 │
└───────────────────────────────┘