Apache Presto – SQL 函数

Apache Presto – SQL 函数


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

数学函数

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

S.No. 功能说明
1. abs(x)

返回x的绝对值

2. cbrt(x)

返回x的立方根

3. ceiling(x)

返回四舍五入到最接近的整数x

4.

ceil(x)

天花板 (x) 的别名

5. degrees(x)

返回x的度数值

6. e(x)

返回欧拉数的双精度值

7.

exp(x)

返回欧拉数的指数值

8. floor(x)

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

9.

from_base(string,radix)

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

10.

ln(x)

返回x的自然对数

11. log2(x)

返回x 的以 2 为底的对数

12.

log10(x)

返回x 的以 10 为底的对数

13.

log(x,y)

返回x 的y为底的对数

14. mod(n,m)

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

15.

pi()

返回圆周率值。结果将作为双精度值返回

16. power(x,p)

将值‘p’ 的幂返回x

17.

pow(x,p)

power(x,p) 的别名

18. radians(x)

将角度x转换为弧度

19.

rand()

radians() 的别名

20. random()

返回伪随机值

21.

rand(n)

random() 的别名

22. round(x)

返回 x 的舍入值

23.

round(x,d)

x值四舍五入到‘d’小数位

24.

sign(x)

返回 x 的符号函数,即

0 如果参数为 0

1 如果参数大于 0

-1 如果参数小于 0

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

NaN 如果参数是 NaN

1 如果参数是 +Infinity

-1 如果参数是 -Infinity

25. sqrt(x)

返回x 的平方根

26. to_base(x,radix)

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

27. truncate(x)

截断x的值

28. width_bucket(x, bound1, bound2, n)

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

29. width_bucket(x, bins)

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

三角函数

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

S.No 功能和说明
1. acos(x)

返回反余弦值(x)

2.

asin(x)

返回反正弦值(x)

3.

atan(x)

返回反正切值(x)

4. atan2(y,x)

返回反正切值(y/x)

5.

cos(x)

返回余弦值(x)

6. cosh(x)

返回双曲余弦值(x)

7. sin(x)

返回正弦值(x)

8.

tan(x)

返回切线值(x)

9.

tanh(x)

返回双曲正切值(x)

按位函数

下表列出了按位函数。

S.No 功能和说明
1. bit_count(x, bits)

计算位数

2. bitwise_and(x,y)

对两位xy执行按位与运算

3. bitwise_or(x,y)

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

4. bitwise_not(x)

x 的按位非操作

5. bitwise_xor(x,y)

x, y 的异或运算

字符串函数

下表列出了字符串函数。

S.No 功能和说明
1. concat(string1, …, stringN)

连接给定的字符串

2. length(string)

返回给定字符串的长度

3. lower(string)

返回字符串的小写格式

4. upper(string)

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

5. lpad(string, size, padstring)

给定字符串的左填充

6. ltrim(string)

从字符串中删除前导空格

7. replace(string, search, replace)

替换字符串值

8. reverse(string)

反转对字符串执行的操作

9. rpad(string, size, padstring)

给定字符串的正确填充

10. rtrim(string)

从字符串中删除尾随空格

11. split(string, delimiter)

在分隔符上拆分字符串并返回大小为最大限制的数组

12. split_part(string, delimiter, index)

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

13. strpos(string, substring)

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

14. substr(string, start)

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

15. substr(string, start, length)

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

16. trim(string)

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

日期和时间函数

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

S.No 功能和说明
1. current_date

返回当前日期

2. current_time

返回当前时间

3. current_timestamp

返回当前时间戳

4. current_timezone()

返回当前时区

5. now()

返回当前日期,带时区的时间戳

6. localtime

返回当地时间

7. localtimestamp

返回本地时间戳

正则表达式函数

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

S.No 功能和说明
1. regexp_extract_all(string, pattern)

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

2. regexp_extract_all(string, pattern, group)

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

3. regexp_extract(string, pattern)

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

4. regexp_extract(string, pattern, group)

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

5. regexp_like(string, pattern)

返回模式的字符串匹配。如果返回字符串,则该值将为真,否则为假

6. regexp_replace(string, pattern)

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

7. regexp_replace(string, pattern, replacement)

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

8. regexp_split(string, pattern)

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

JSON 函数

下表列出了 JSON 函数。

S.No 功能和说明
1. json_array_contains(json, value)

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

2. json_array_get(json_array, index)

获取json数组中索引的元素

3. json_array_length(json)

返回 json 数组中的长度

4. json_format(json)

返回json结构格式

5. json_parse(string)

将字符串解析为 json

6. json_size(json, json_path)

返回值的大小

网址功能

下表列出了 URL 函数。

S.No 功能和说明
1. url_extract_host(url)

返回 URL 的主机

2. url_extract_path(url)

返回 URL 的路径

3. url_extract_port(url)

返回 URL 的端口

4. url_extract_protocol(url)

返回 URL 的协议

5. url_extract_query(url)

返回 URL 的查询字符串

聚合函数

下表列出了聚合函数。

S.No 功能和说明
1.

avg(x)

返回给定值的平均值

2. min(x,n)

返回两个值中的最小值

3. max(x,n)

返回两个值的最大值

4. sum(x)

返回值的总和

5. count(&ast)

返回输入行数

6. count(x)

返回输入值的计数

7. checksum(x)

返回x的校验和

8. arbitrary(x)

返回x的任意值

颜色函数

下表列出了颜色函数。

S.No 功能和说明
1. bar(x, width)

使用 rgb low_color 和 high_color 渲染单个条形

2. bar(x, width, low_color, high_color)

渲染指定宽度的单个条形

3. color(string)

返回输入字符串的颜色值

4. render(x, color)

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

5. render(b)

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

6.

rgb(red, green, blue)

返回一个颜色值,它捕获三个分量颜色值的 RGB 值,作为整数参数提供,范围从 0 到 255

数组函数

下表列出了数组函数。

S.No 功能和说明
1. array_max(x)

查找数组中的最大元素

2. array_min(x)

查找数组中的最小元素

3. array_sort(x)

对数组中的元素进行排序

4. array_remove(x,element)

从数组中删除特定元素

5. concat(x,y)

连接两个数组

6. contains(x,element)

在数组中查找给定元素。如果存在则返回真,否则返回假

7. array_position(x,element)

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

8. array_intersect(x,y)

执行两个数组之间的交集

9. element_at(array,index)

返回数组元素位置

10. slice(x,start,length)

对指定长度的数组元素进行切片

Teradata 函数

下表列出了 Teradata 函数。

S.No 功能和说明
1. index(string,substring)

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

2. substring(string,start)

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

3. substring(string,start,length)

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁