Apache Presto - SQL 函数


截至目前,我们正在讨论在 Presto 上运行一些简单的基本查询。本章将讨论重要的 SQL 函数。

数学函数

数学函数对数学公式进行运算。下表详细描述了函数列表。

编号 功能说明
1. 绝对值(x)

返回x的绝对值

2. CBRT(x)

返回x的立方根

3. 上限(x)

返回x值向上舍入到最接近的整数

4.

上限(x)

天花板的别名(x)

5. 度(x)

返回x的度值

6. 前任)

返回欧拉数的双精度值

7.

指数 (x)

返回欧拉数的指数值

8. 楼层(x)

返回x向下舍入到最接近的整数

9.

from_base(字符串,基数)

返回解释为基数的字符串值

10.

ln(x)

返回x的自然对数

11. log2(x)

返回x以 2 为底的对数

12.

log10(x)

返回x以 10 为底的对数

13.

日志(x,y)

返回x以y为底的对数

14. 模(n,m)

返回n除以m的模(余数)

15.

圆周率()

返回 pi 值。结果将以双精度值形式返回

16. 幂(x,p)

返回值'p'x值幂

17.

战俘(x,p)

power(x,p) 的别名

18. 弧度(x)

将角度x转换为度弧度

19.

兰特()

弧度的别名()

20. 随机的()

返回伪随机值

21.

兰特(n)

random() 的别名

22. 轮(x)

返回 x 的舍入值

23.

圆(x,d)

x值四舍五入为“d”位小数

24.

符号(x)

返回 x 的正负号函数,即

如果参数为 0,则为 0

如果参数大于 0,则为 1

如果参数小于 0,则为 -1

对于双参数,该函数还返回 -

NaN 如果参数为 NaN

如果参数为 +Infinity,则为 1

如果参数为 -Infinity,则为 -1

25. 开方(x)

返回x的平方根

26. to_base(x,基数)

返回类型是弓箭手。结果作为x 的基数返回

27. 截断(x)

截断x的值

28. width_bucket(x, 边界1, 边界2, n)

返回x指定的bound1和bound2边界的bin号以及n个桶

29. width_bucket(x,垃圾箱)

根据数组bins指定的bins返回x的bin号

三角函数

三角函数参数表示为 radians()。下表列出了功能。

序列号 功能及说明
1. acos(x)

返回反余弦值(x)

2.

阿信(x)

返回反正弦值(x)

3.

阿坦(x)

返回反正切值(x)

4. atan2(y,x)

返回反正切值(y/x)

5.

余弦(x)

返回余弦值(x)

6. 余弦(x)

返回双曲余弦值(x)

7. 正弦(x)

返回正弦值(x)

8.

tan(x)

返回正切值(x)

9.

tanh(x)

返回双曲正切值(x)

按位函数

下表列出了按位函数。

序列号 功能及说明
1. 位计数(x,位)

计算位数

2. 按位与(x,y)

对xy两位执行按位 AND 运算

3. 按位或(x,y)

两个位x, y之间的按位或运算

4. 按位非(x)

位x的按位非运算

5. 按位异或(x,y)

位x、y的异或运算

字符串函数

下表列出了字符串函数。

序列号 功能及说明
1. 连接(字符串1,...,字符串N)

连接给定的字符串

2. 长度(字符串)

返回给定字符串的长度

3. 较低(字符串)

返回字符串的小写格式

4. 上部(字符串)

返回给定字符串的大写格式

5. lpad(字符串,大小,填充字符串)

给定字符串的左填充

6. ltrim(字符串)

从字符串中删除前导空格

7. 替换(字符串、搜索、替换)

替换字符串值

8. 反转(字符串)

反转对字符串执行的操作

9. rpad(字符串,大小,填充字符串)

给定字符串的右填充

10. rtrim(字符串)

从字符串中删除尾随空格

11. split(字符串,分隔符)

按分隔符分割字符串并返回最大大小的数组

12. split_part(字符串、分隔符、索引)

按分隔符拆分字符串并返回字段索引

13. strpos(字符串,子字符串)

返回子字符串在字符串中的起始位置

14. substr(字符串,开始)

返回给定字符串的子字符串

15. substr(字符串,开始,长度)

返回给定字符串的特定长度的子字符串

16. 修剪(字符串)

从字符串中删除前导和尾随空格

日期和时间函数

下表列出了日期和时间函数。

序列号 功能及说明
1. 当前日期

返回当前日期

2. 当前时间

返回当前时间

3. 当前时间戳

返回当前时间戳

4. 当前时区()

返回当前时区

5. 现在()

返回当前日期、时间戳和时区

6. 当地时间

返回当地时间

7. 本地时间戳

返回本地时间戳

正则表达式函数

下表列出了正则表达式函数。

序列号 功能及说明
1. regexp_extract_all(字符串,模式)

返回与模式的正则表达式匹配的字符串

2. regexp_extract_all(字符串、模式、组)

返回与模式和组的正则表达式匹配的字符串

3. regexp_extract(字符串,模式)

返回与模式的正则表达式匹配的第一个子字符串

4. regexp_extract(字符串、模式、组)

返回与模式和组的正则表达式匹配的第一个子字符串

5. regexp_like(字符串,模式)

返回模式的字符串匹配项。如果返回字符串,则值为 true,否则为 false

6. regexp_replace(字符串,模式)

用模式替换与表达式匹配的字符串实例

7. regexp_replace(字符串、模式、替换)

将与表达式匹配的字符串实例替换为模式和替换

8. regexp_split(字符串,模式)

分割给定模式的正则表达式

JSON 函数

下表列出了 JSON 函数。

序列号 功能及说明
1. json_array_contains(json, 值)

检查 json 数组中是否存在该值。如果该值存在则返回 true,否则返回 false

2. json_array_get(json_array, 索引)

获取json数组中索引的元素

3. json_array_length(json)

返回 json 数组的长度

4. json_格式(json)

返回json结构格式

5. json_parse(字符串)

将字符串解析为 json

6. json_size(json, json_path)

返回值的大小

网址函数

下表列出了 URL 函数。

序列号 功能及说明
1. url_extract_host(网址)

返回 URL 的主机

2. url_extract_path(网址)

返回 URL 的路径

3. url_extract_port(网址)

返回 URL 的端口

4. url_extract_protocol(网址)

返回 URL 的协议

5. url_extract_query(网址)

返回 URL 的查询字符串

聚合函数

下表列出了聚合函数。

序列号 功能及说明
1.

平均值(x)

返回给定值的平均值

2. 最小值(x,n)

返回两个值中的最小值

3. 最大值(x,n)

返回两个值中的最大值

4. 总和(x)

返回值的总和

5. 数数(*)

返回输入行数

6. 计数(x)

返回输入值的计数

7. 校验和(x)

返回x的校验和

8. 任意(x)

返回x的任意值

颜色功能

下表列出了颜色函数。

序列号 功能及说明
1. 条形(x,宽度)

使用 rgb low_color 和 high_color 渲染单个条

2. 条形图(x,宽度,低颜色,高颜色)

渲染指定宽度的单个条形

3. 颜色(字符串)

返回输入字符串的颜色值

4. 渲染(x,颜色)

使用 ANSI 颜色代码使用特定颜色渲染值 x

5. 渲染(b)

接受布尔值 b 并使用 ANSI 颜色代码呈现绿色 true 或红色 false

6.

RGB(红、绿、蓝)

返回一个颜色值,捕获以 int 参数形式提供的三个分量颜色值的 RGB 值,范围从 0 到 255

数组函数

下表列出了数组函数。

序列号 功能及说明
1. 数组最大(x)

查找数组中的最大元素

2. 数组最小值(x)

查找数组中的最小元素

3. 数组排序(x)

对数组中的元素进行排序

4. array_remove(x,元素)

从数组中删除特定元素

5. 连接(x,y)

连接两个数组

6. 包含(x,元素)

查找数组中的给定元素。如果存在则返回 true,否则返回 false

7. 数组位置(x,元素)

查找给定元素在数组中的位置

8. 数组相交(x,y)

执行两个数组之间的交集

9. element_at(数组,索引)

返回数组元素位置

10. 切片(x,开始,长度)

以特定长度对数组元素进行切片

Teradata 功能

下表列出了 Teradata 函数。

序列号 功能及说明
1. 索引(字符串,子字符串)

返回具有给定子字符串的字符串的索引

2. 子串(字符串,开始)

返回给定字符串的子字符串。您可以在此处指定开始索引

3. 子串(字符串,开始,长度)

返回给定字符串的特定起始索引和字符串长度的子字符串