tencent cloud

数据湖计算

产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
退费说明
欠费说明
调整配置费用说明
快速入门
新用户开通全流程
DLC 数据导入指引
一分钟入门 DLC 数据分析
一分钟入门 DLC 权限管理
一分钟入门分区表
开启数据优化
跨源分析 EMR Hive 数据
标准引擎配置指引
配置数据访问策略
操作指南
控制台操作介绍
开发指南
运行环境
SparkJar 作业开发指南
PySpark 作业开发指南
查询性能优化指南
UDF 函数开发指南
系统约束
客户端访问
JDBC 访问
TDLC 命令行工具访问
第三方软件联动
Python 访问
实践教程
通过 Power BI 访问 DLC 数据操作指南
建表实践
使用 Apache Airflow 调度 DLC 引擎提交任务
StarRocks 直接查询 DLC 内部存储
Spark 计算成本优化实践
DATA + AI
使用 DLC 分析 CLS 日志
使用角色 SSO 访问 DLC
资源级鉴权指南
在 DLC 中实现 TCHouse-D 读写操作
DLC 原生表
SQL 语法
SuperSQL 语法
标准 Spark 语法概览
标准 Presto 语法概览
保留字
API 文档
History
Introduction
API Category
Making API Requests
Data Table APIs
Task APIs
Metadata APIs
Service Configuration APIs
Permission Management APIs
Database APIs
Data Source Connection APIs
Data Optimization APIs
Data Engine APIs
Resource Group for the Standard Engine APIs
Data Types
Error Codes
通用类参考
错误码
配额与限制
第三方软件连接DLC操作指南
常见问题
权限类常见问题
引擎类常见问题
功能类常见问题
Spark 作业类常见问题
DLC 政策
隐私协议
数据处理和安全协议
服务等级协议
联系我们

数学函数

PDF
聚焦模式
字号
最后更新时间: 2024-08-07 17:32:40

ABS

函数语法:
ABS(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的绝对值
返回类型:与<expr>一致
示例:
> SELECT abs(-1);
1

ACOS

函数语法:
ACOS(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的反余弦
返回类型:double
示例:
> SELECT acos(1);
0.0
> SELECT acos(2);
NaN

ACOSH

函数语法:
ACOSH(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的反双曲余弦值
返回类型:double
示例:
> SELECT acosh(1);
0.0
> SELECT acosh(0);
NaN

ASIN

函数语法:
ASIN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的反正弦
返回类型:double
示例:
> SELECT asin(0);
0.0
> SELECT asin(2);
NaN

ASINH

函数语法:
ASINH(<expr> integer|double|decimal)
支持引擎:SparkSQL
使用说明:返回expr的反双曲正弦值。
返回类型:double
示例:
> SELECT asinh(0);
0.0

ATAN

函数语法:
ATAN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的反正切
返回类型:double
示例:
> SELECT atan(0);
0.0

ATAN2

函数语法:
ATAN2(<x>, integer|double|decimal, <y> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回平面的正 x 轴与坐标给定的点之间的弧度角
返回类型:double
示例:
> SELECT atan2(0, 0);
0.0

ATANH

函数语法:
ATANH(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回 expr 的反双曲正切。
返回类型:double
示例:
> SELECT atanh(0);
0.0
> SELECT atanh(2);
NaN

BIN

函数语法:
BIN(<expr> integer)
支持引擎:SparkSQL、Presto
使用说明:返回以二进制表示的长值expr的字符串表示形式。
返回类型:string
示例:
> SELECT bin(13);
1101
> SELECT bin(-13);
1111111111111111111111111111111111111111111111111111111111110011

BROUND

函数语法:
BROUND(<expr> integer|double|decimal, <d> integer)
支持引擎:SparkSQL、Presto
使用说明:返回 expr 使用 HALF_EVEN 舍入模式舍入到d位小数
返回类型:decimal
示例:
> SELECT bround(2.5, 0);
2

CBRT

函数语法:
CBRT(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的立方根。
返回类型:double
示例:
> SELECT cbrt(27.0);
3.0

CEIL

函数语法:
CEIL(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回不小于expr的最小整数
返回类型:integer
示例:
> SELECT ceil(-0.1);
0
> SELECT ceil(5);
5

COS

函数语法:
COS(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的余弦
返回类型:double
示例:
> SELECT cos(0);
1.0

COSH

函数语法:
COSH(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的双曲余弦
返回类型:double
示例:
> SELECT cosh(0);
1.0

CONV

函数语法:
CONV(<num> bigint|string, <from_base> integer, <to_base> integer)
支持引擎:SparkSQL、Presto
使用说明:将num从from_base转换为to_base
返回类型:string
示例:
> SELECT conv('100', 2, 10);
4
> SELECT conv(-10, 16, -10);
-16

DEGREES

函数语法:
DEGREES(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:弧度转化为角度
返回类型:double
示例:
> SELECT degrees(3.141592653589793);
180.0

E

函数语法:
E()
支持引擎:SparkSQL、Presto
使用说明:返回欧拉常数
返回类型:double
示例:
> SELECT e();
2.718281828459045

EXP

函数语法:
EXP(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回欧拉常数e的expr次方
返回类型:double
示例:
> SELECT exp(0);
1.0

EXPM1

函数语法:
EXPM1(<expr> integer|double|decimal)
支持引擎:SparkSQL
使用说明:返回EXP(expr)-1
返回类型:double
示例:
> SELECT expm1(0);
0.0

FLOOR

函数语法:
FLOOR(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回不大于expr的最大整数
返回类型:integer
示例:
> SELECT floor(-0.1);
-1
> SELECT floor(5);
5

FACTORIAL

函数语法:
FACTORIAL(<expr> integer)
支持引擎:SparkSQL、Presto
使用说明:返回expr的阶乘。 expr为[0..20]。 否则为NULL。
返回类型:bigint
示例:
> SELECT factorial(5);
120

HEX

函数语法:
HEX(<expr> bigint|string)
支持引擎:SparkSQL、Presto
使用说明:以十六进制返回expr
返回类型:string
示例:
> SELECT hex(17);
11
> SELECT hex('Spark SQL');
537061726B2053514C

HYPOT

函数语法:
HYPOT(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回sqrt(pow(expr1, 2) + pow(expr2, 2))
返回类型:double
示例:
> SELECT hypot(3, 4);
5.0

LOG

函数语法:
LOG(<base> integer|double|decimal, <expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr以base为底数的对数。
返回类型:double
示例:
> SELECT log(10, 100);
2.0

LOG10

函数语法:
LOG10(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr以10为底数的对数。
返回类型:double
示例:
> SELECT log10(10);
1.0

LOG1P

函数语法:
LOG1P(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回log(1 + expr)
返回类型:double
示例:
> SELECT log1p(0);
0.0

LOG2

函数语法:
LOG2(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回以2为底的expr的对数。
返回类型:double
示例:
> SELECT log2(2);
1.0

LN

函数语法:
LN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的自然对数(以e为底)。
返回类型:double
示例:
> SELECT ln(1);
0.0

MOD

函数语法:
MOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
<expr1> MOD <expr2>
支持引擎:SparkSQL、Presto
使用说明:返回expr1/expr2之后的余数。
返回类型:double|integer
示例:
> SELECT 2 % 1.8;
0.2
> SELECT MOD(2, 1.8);
0.2

NEGATIVE

函数语法:
NEGATIVE(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的负数
返回类型:与expr一致
示例:
> SELECT negative(1);
-1

PI

函数语法:
PI()
支持引擎:SparkSQL、Presto
使用说明:返回PI
返回类型:double
示例:
> SELECT pi();
3.141592653589793

PMOD

函数语法:
PMOD(<expr1> integer|double|decimal, <expr2> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr1 mod expr2的正值。
返回类型:double
示例:
> SELECT pmod(10, 3);
1
> SELECT pmod(-10, 3);
2

POSITIVE

函数语法:
POSITIVE(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr
返回类型:与expr一致
示例:
> SELECT positive(1);
1

POWER

函数语法:
POWER(<base> integer|double|decimal, <number> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回base的number次方
返回类型:double
示例:
> SELECT power(2, 3);
8.0

POW

函数语法:
POW(<base> integer|double|decimal, <number> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回base的number次方
返回类型:double
示例:
> SELECT pow(2, 3);
8.0

RADIANS

函数语法:
RADIANS(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:将度转换为弧度
返回类型:double
示例:
> SELECT radians(180);
3.141592653589793

RINT

函数语法:
RINT(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回与参数值最近且等于数学整数的双精度值
返回类型:double
示例:
> SELECT rint(12.3456);
12.0

ROUND

函数语法:
ROUND(<expr> integer|double|decimal, <d> integer)
支持引擎:SparkSQL、Presto
使用说明:使用半向上舍入模式将expr舍入到d位小数。
返回类型:double
示例:
> SELECT round(2.5, 0);
3

SHIFTLEFT

函数语法:
SHIFTLEFT(<base> integer|double|decimal, <expr> integer)
支持引擎:SparkSQL、Presto
使用说明:按位向左移位。
返回类型:int |bigint
示例:
> SELECT shiftleft(2, 1);
4

SHIFTRIGHT

函数语法:
SHIFTRIGHT(<base> integer|double|decimal, <expr> integer)
支持引擎:SparkSQL、Presto
使用说明:按位向右移位。
返回类型:int |bigint
示例:
> SELECT shiftright(4, 1);
2

SHIFTRIGHTUNSIGNED

函数语法:
SHIFTRIGHTUNSIGNED(<base> integer|double|decimal, <expr> integer)
支持引擎:SparkSQL、Presto
使用说明:按位无符号右移。
返回类型:int |bigint
示例:
> SELECT shiftrightunsigned(4, 1);
2

SIGN

函数语法:
SIGN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:当expr为负、0或正时,返回-1.0、0.0或1.0。
返回类型:double
示例:
> SELECT sign(40);
1.0

SIGNUM

函数语法:
SIGNUM(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:当expr为负、0或正时,返回-1.0、0.0或1.0。
返回类型:double
示例:
> SELECT signum(40);
1.0

SIN

函数语法:
SIN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的正弦值
返回类型:double
示例:
> SELECT sin(0);
0.0

SINH

函数语法:
SINH(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的双曲正弦
返回类型:double
示例:
> SELECT sinh(0);
0.0

SQRT

函数语法:
SQRT(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的平方根
返回类型:double
示例:
> SELECT sqrt(4);
2.0

TAN

函数语法:
TAN(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的正切值
返回类型:double
示例:
> SELECT tan(0);
0.0

COT

函数语法:
COT(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回表达式的余切
返回类型:double
示例:
> SELECT cot(1);
0.6420926159343306

TANH

函数语法:
TANH(<expr> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回expr的双曲正切
返回类型:double
示例:
> SELECT tanh(0);
0.0

WIDTH_BUCKET

函数语法:
WIDTH_BUCKET(<value> integer|double|decimal, <min> integer|double|decimal, <max> integer|double|decimal, <num_backet> integer)
支持引擎:SparkSQL、Presto
使用说明:从min到max的等分为num_backet个分组,返回value落入的分组编号
返回类型:integer
示例:
> SELECT width_bucket(5.3, 0.2, 10.6, 5);
3
> SELECT width_bucket(-2.1, 1.3, 3.4, 3);
0
> SELECT width_bucket(8.1, 0.0, 5.7, 4);
5
> SELECT width_bucket(-0.9, 5.2, 0.5, 2);
3

TRY_ADD

函数语法:
TRY_ADD(<expr1> integer|double|decimal|date|timestamp, <expr2> integer|double|decimal|date|timestamp)
支持引擎:SparkSQL、Presto
使用说明:返回expr1和expr2的总和,溢出时结果为null
返回类型:integer|double|decimal|date|timestamp
示例:
> SELECT try_add(1, 2);
3
> SELECT try_add(2147483647, 1);
NULL
> SELECT try_add(date'2021-01-01', 1);
2021-01-02

TRY_DIVIDE

函数语法:
TRY_DIVIDE(<dividend> integer|double|decimal, <divisor> integer|double|decimal)
支持引擎:SparkSQL、Presto
使用说明:返回dividend/divisor
返回类型:double
示例:
> SELECT try_divide(3, 2);
1.5
> SELECT try_divide(2L, 2L);
1.0
> SELECT try_divide(1, 0);
NULL

RAND

函数语法:
RAND([<seed> integer])
支持引擎:SparkSQL、Presto
使用说明:返回一个随机值,该随机值为[0,1]中的值独立且均匀分布。
返回类型:double
示例:
> SELECT rand();
0.9629742951434543
> SELECT rand(0);
0.7604953758285915
> SELECT rand(null);
0.7604953758285915

RANDOM

函数语法:
RANDOM([<seed> integer])
支持引擎:SparkSQL、Presto
使用说明:返回一个随机值,该随机值为[0,1]中的值独立且均匀分布。
返回类型:double
示例:
> SELECT rand();
0.9629742951434543
> SELECT rand(0);
0.7604953758285915
> SELECT rand(null);
0.7604953758285915

RANDN

函数语法:
RANDN([<seed> integer])
支持引擎:SparkSQL、Presto
使用说明:返回一个随机值,其中包含从标准正态分布中提取的独立和同分布(i.i.d.)值。该函数在SPARKSQL与PRESTO中的实现方式不一致,使用相同的seed可能得到不同的结果。
返回类型:double
示例:
> SELECT randn();
-0.3254147983080288
> SELECT randn(0);
1.6034991609278433
> SELECT randn(null);
1.6034991609278433

DIV

函数语法:
<expr1> DIV <expr2>
支持引擎:SparkSQL
使用说明:expr1除以expr2
返回类型:integer
示例:
> SELECT 3 div 2;
1


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈