绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Flink1.17 版本常见的 SQL 函数总结
2023-05-19 17:57:31

今天分享几个 Flink1.17 新版本中常见的一些 SQL 函数的使用方式。

1 时间函数

  1. CURRENT_TIME() 返回当前时间(时分秒)

  2. CURRENT_DATE() 返回当前日期(年月日)

  3. LOCALTIME() 返回当前时区的当前时间(时分秒)

  4. LOCALTIMESTAMP() 返回当前时区的当前时间戳(年月日时分秒)

SELECT CURRENT_TIME()CURRENT_DATE()LOCALTIME()LOCALTIMESTAMP()

执行以上 SQL 语句会返回当前时间和日期的值,例如:

CURRENT_TIME CURRENT_DATE LOCALTIME LOCALTIMESTAMP
13:45:30.000 2022-04-19 13:45:30 2022-04-19 13:45:30

2 数值函数

  1. ABS(n) 返回 n 的值

  2. CEIL(n) 返回不小于 n 的小整数

  3. FLOOR(n) 返回不大于 n 的大整数

  4. LOG(n[,base]) 返回 n 的对数,可指定底数

  5. POWER(n,exponent) 返回 n 的 exponent 次幂

  6. ROUND(n[,d]) 返回四舍五入到 d 位小数的 n

  7. SIGN(n) 返回 n 的符号(1、0 或 -1)

SELECT ABS(-10)CEIL(3.14)FLOOR(3.14)LOG(10010)
POWER(23)ROUND(3.141592)SIGN(-10)

执行以上 SQL 语句会返回数值函数的计算结果,例如:

10 4 3 2.000 8.000 3.14 -1

3 字符串函数

  1. CONCAT(s1,s2,...) 将多个字符串连接为一个字符串

  2. LENGTH(s) 返回字符串 s 的长度

  3. LOWER(s) 将字符串 s 转换为小写

  4. UPPER(s) 将字符串 s 转换为大写

  5. TRIM([BOTH | LEADING | TRAILING] trimStr FROM s) 去除字符串 s 开头、结尾或两端的 trimStr 字符串

SELECT CONCAT('Hello'' ''world')LENGTH('Hello')LOWER('Hello')
UPPER('Hello')TRIM('x' FROM 'xxxHelloxxx')

执行以上 SQL 语句会返回字符串函数的计算结果,如下所示:

Hello world 5 hello HELLO xxHelloxxx

4 数组函数

  1. ARRAY[length](v1, v2, ..., vn) 创建一个长度为 length 的数组,元素为 v1, v2, …, vn

  2. ARRAY[1, v2, ..., vn] 创建一个包含元素 1, v2, …, vn 的数组

  3. CARDINALITY(a) 返回数组 a 的长度

  4. ELEMENT(a, n) 返回数组 a 的第 n 个元素

  5. ARRAY_CONTAINS(a, v) 判断数组 a 是否包含元素 v

SELECT ARRAY[123], ARRAY[12] || ARRAY[3], 
CARDINALITY(ARRAY[123]), ELEMENT(ARRAY[123], 2), 
ARRAY_CONTAINS(ARRAY[123], 2)

执行以上 SQL 语句会返回数组函数的计算结果,例如:

[1, 2, 3] [1, 2, 3] 3 2 true

以上就是关于 Flink 1.17 版本中一些常用的函数。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Flink专区
创建时间:2020-06-19 13:29:19
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • ?
    专家
戳我,来吐槽~