在flink sql的开发中,我们还会涉及到很多的sql内置函数,可以让我们在sql开发中很方便的对数据进行处理。本文的话我们列举下Flink Sql中内置的函数,截止的Flink 版本为1.17。
使用示例:${1:} <> ${2:} 说明:如果value1不等于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN
使用示例:${1:} > ${2:} 说明:如果value1大于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN
使用示例:${1:} >= ${2:} 说明:如果value1大于或等于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN
使用示例:${1:} < ${2:} 说明:如果value1小于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN
5)value1 <= value2
使用示例:${1:} <= ${2:} 说明:如果value1小于或等于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN
6)value IS NULL
使用示例:${1:} IS NULL 说明:如果value为NULL,则返回TRUE 。
7)value IS NOT NULL
使用示例:${1:} IS NOT NULL 说明:如果value不为NULL,则返回TRUE 。
8)value1 IS DISTINCT FROM value2
使用示例:${1:} IS DISTINCT FROM ${2:} 说明:如果两个值不相等则返回TRUE。NULL值在这里被视为相同的值。
9)value1 IS NOT DISTINCT FROM value2
使用示例:${1:} IS NOT DISTINCT FROM ${2:} 说明:如果两个值相等则返回TRUE。NULL值在这里被视为相同的值。
10)value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3
使用示例:${1:} BETWEEN ${2:} AND ${3:} 说明:如果value1大于或等于value2和小于或等于value3 返回true
11)value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3
使用示例:${1:} NOT BETWEEN ${2:} AND ${3:} 说明:如果value1小于value2或大于value3 返回true
12)string1 LIKE string2 [ ESCAPE char ]
使用示例:${1:} LIKE ${2:} 说明:如果STRING1匹配模式STRING2,则返回TRUE ;如果STRING1或STRING2为NULL,则返回UNKNOWN 。
13)string1 NOT LIKE string2 [ ESCAPE char ]
使用示例:${1:} NOT LIKE ${2:} 说明:如果STRING1不匹配模式STRING2,则返回TRUE ;如果STRING1或STRING2为NULL,则返回UNKNOWN 。
14)string1 SIMILAR TO string2 [ ESCAPE char ]
使用示例:${1:} SIMILAR TO ${2:} 说明:如果STRING1与SQL正则表达式STRING2匹配,则返回TRUE ;如果STRING1或STRING2为NULL,则返回UNKNOWN。
15)string1 NOT SIMILAR TO string2 [ ESCAPE char ]
使用示例:${1:} NOT SIMILAR TO ${2:} 说明:如果STRING1与SQL正则表达式STRING2不匹配,则返回TRUE ;如果STRING1或STRING2为NULL,则返回UNKNOWN 。
16)value1 IN (value2 [, value3]* )
使用示例:${1:} IN (${2:} ) 说明:如果value1存在于给定列表(value2,value3,...)中,则返回TRUE 。 当(value2,value3,...)包含NULL,如果可以找到该元素,则返回TRUE,否则返回UNKNOWN。 如果value1为NULL,则始终返回UNKNOWN 。
17)value1 NOT IN (value2 [, value3]* )
使用示例:${1:} NOT IN (${2:}) 说明:如果value1不存在于给定列表(value2,value3,...)中,则返回TRUE 。 当(value2,value3,...)包含NULL,如果可以找到该元素,则返回TRUE,否则返回UNKNOWN。 如果value1为NULL,则始终返回UNKNOWN 。
18)EXISTS (sub-query)
使用示例:${1:} NOT IN (${2:}) 说明:如果value存在于子查询中,则返回TRUE。
使用示例:${1:} IN (${2:}) 说明:如果value存在于子查询中,则返回TRUE。
使用示例:${1:} NOT IN (${2:}) 说明:如果value不存在于子查询中,则返回TRUE。
使用示例:${1:} OR ${2:} 说明:如果BOOLEAN1为TRUE或BOOLEAN2为TRUE,则返回TRUE。支持三值逻辑。 例如,true || Null(Types.BOOLEAN)返回TRUE。
使用示例:${1:} AND ${2:} 说明:如果BOOLEAN1和BOOLEAN2均为TRUE,则返回TRUE。支持三值逻辑。 例如,true && Null(Types.BOOLEAN)返回未知。
23)NOT boolean
使用示例:NOT ${1:} 说明:如果BOOLEAN为FALSE,则返回TRUE ;如果BOOLEAN为TRUE,则返回FALSE 。 如果BOOLEAN为UNKNOWN,则返回UNKNOWN。
使用示例:${1:} IS FALSE 说明:如果BOOLEAN为FALSE,则返回TRUE ;如果BOOLEAN为TRUE或UNKNOWN,则返回FALSE 。
使用示例:${1:} IS NOT FALSE 说明:如果BOOLEAN为TRUE或UNKNOWN,则返回TRUE ;如果BOOLEAN为FALSE,则返回FALSE。
26)boolean IS TRUE
使用示例:${1:} IS TRUE 说明:如果BOOLEAN为TRUE,则返回TRUE;如果BOOLEAN为FALSE或UNKNOWN,则返回FALSE 。
27)boolean IS NOT TRUE
使用示例:${1:} IS NOT TRUE 说明:如果BOOLEAN为FALSE或UNKNOWN,则返回TRUE ;如果BOOLEAN为TRUE,则返回FALSE 。
使用示例:${1:} IS UNKNOWN 说明:如果BOOLEAN为UNKNOWN,则返回TRUE ;如果BOOLEAN为TRUE或FALSE,则返回FALSE 。
29)boolean IS NOT UNKNOWN
使用示例:${1:} IS NOT UNKNOWN 说明:如果BOOLEAN为TRUE或FALSE,则返回TRUE ;如果BOOLEAN为UNKNOWN,则返回FALSE 。
30)+ numeric
使用示例:+ ${1:} 说明:返回NUMERIC。
31)- numeric
使用示例:- ${1:} 说明:返回负数NUMERIC。
使用示例:${1:} + ${2:} 说明:返回NUMERIC1加NUMERIC2。
使用示例:${1:} - ${2:} 说明:返回NUMERIC1减去NUMERIC2。
34)numeric1 * numeric2
使用示例:${1:} * ${2:} 说明:返回NUMERIC1乘以NUMERIC2。
使用示例:${1:} / ${2:} 说明:返回NUMERIC1除以NUMERIC2。
使用示例:${1:} % ${2:} 说明:返回NUMERIC1除以NUMERIC2的余数(模)。仅当numeric1为负数时,结果为负数。
使用示例:POWER(${1:} , ${2:}) 说明:返回NUMERIC1的NUMERIC2 次幂。
38)ABS(numeric)
使用示例:ABS(${1:}) 说明:返回NUMERIC的绝对值。
使用示例:MOD(${1:} , ${2:} ) 说明:返回numeric1除以numeric2的余数(模)。只有当numeric1为负数时,结果才为负数
使用示例:SQRT(${1:}) 说明:返回NUMERIC的平方根。
41)LN(numeric)
使用示例:LN(${1:}) 说明:返回NUMERIC的自然对数(以e为底)。
使用示例:LOG10(${1:}) 说明:返回NUMERIC的以10为底的对数。
使用示例:LOG2(${1:}) 说明:返回NUMERIC的以2为底的对数。
44)EXP(numeric)
使用示例:EXP(${1:}) 说明:返回e 的 NUMERIC 次幂。
使用示例:FLOOR(${1:}) 说明:向下舍入NUMERIC,并返回小于或等于NUMERIC的最大整数。
46)SIN(numeric)
使用示例:SIN(${1:}) 说明:返回NUMERIC的正弦值。
使用示例:SINH(${1:}) 说明:返回NUMERIC的双曲正弦值。 返回类型为DOUBLE。
48)COS(numeric)
使用示例:COS(${1:}) 说明:返回NUMERIC的余弦值。
49)TAN(numeric)
使用示例:TAN(${1:}) 说明:返回NUMERIC的正切。
使用示例:TANH(${1:}) 说明:返回NUMERIC的双曲正切值。 返回类型为DOUBLE。
51)COT(numeric)
使用示例:COT(${1:}) 说明:返回NUMERIC的余切。
使用示例:ASIN(${1:}) 说明:返回NUMERIC的反正弦值。
使用示例:ACOS(${1:}) 说明:返回NUMERIC的反余弦值。
使用示例:ATAN(${1:}) 说明:返回NUMERIC的反正切。
使用示例:ATAN2(${1:}, ${2:}) 说明:返回坐标的反正切(NUMERIC1,NUMERIC2)。
使用示例:COSH(${1:}) 说明:返回NUMERIC的双曲余弦值。 返回值类型为DOUBLE。
使用示例:DEGREES(${1:}) 说明:返回弧度NUMERIC的度数表示形式
使用示例:RADIANS(${1:}) 说明:返回度数NUMERIC的弧度表示。
使用示例:SIGN(${1:}) 说明:返回NUMERIC的符号。
使用示例:ROUND(${1:} , ${2:}) 说明:返回一个数字,四舍五入为NUMERIC的INT小数位。
61)PI
使用示例:PI 说明:返回一个比任何其他值都更接近圆周率的值。
62)E()
使用示例:E() 说明:返回一个比任何其他值都更接近e的值。
63)RAND()
使用示例:RAND() 说明:返回介于0.0(含)和1.0(不含)之间的伪随机双精度值。
使用示例:RAND(${1:}) 说明:返回带有初始种子INTEGER的介于0.0(含)和1.0(不含)之间的伪随机双精度值。 如果两个RAND函数具有相同的初始种子,它们将返回相同的数字序列。
使用示例:RAND_INTEGER(${1:}) 说明:返回介于0(含)和INTEGER(不含)之间的伪随机整数值。
66)RAND_INTEGER(integer1, integer2)
使用示例:RAND_INTEGER(${1:} , ${2:}) 说明:返回介于0(含)和INTEGER2(不含)之间的伪随机整数值,其初始种子为INTEGER1。 如果两个randInteger函数具有相同的初始种子和边界,它们将返回相同的数字序列。
使用示例:UUID() 说明:根据RFC 4122 type 4(伪随机生成)UUID返回UUID(通用唯一标识符)字符串 (例如,“ 3d3c68f7-f608-473f-b60c-b0c44ad4cc4e”)。使用加密强度高的伪随机数生成器生成UUID。
68)BIN(integer)
使用示例:BIN(${1:}) 说明:以二进制格式返回INTEGER的字符串表示形式。如果INTEGER为NULL,则返回NULL。 例如,4.bin()返回“ 100”并12.bin()返回“ 1100”。
使用示例:HEX(${1:}) 说明:以十六进制格式返回整数NUMERIC值或STRING的字符串表示形式。如果参数为NULL,则返回NULL。 例如,数字20导致“ 14”,数字100导致“ 64”,字符串“ hello,world”导致“ 68656C6C6F2C776F726C64”。
70)TRUNCATE(numeric1, integer2)
使用示例:TRUNCATE(${1:}, ${2:}) 说明:返回一个小数点后被截断为integer2位的数字。
71)PI()
使用示例:PI() 说明:返回π (pi)的值。仅在blink planner中支持。
使用示例:LOG(${1:}) 说明:如果不带参数调用,则返回NUMERIC1的自然对数。当使用参数调用时,将NUMERIC1的对数返回到基数NUMERIC2。 注意:当前,NUMERIC1必须大于0,而NUMERIC2必须大于1。
使用示例:LOG(${1:}, ${2:}) 说明:如果不带参数调用,则返回NUMERIC1的自然对数。当使用参数调用时,将NUMERIC1的对数返回到基数NUMERIC2。 注意:当前,NUMERIC1必须大于0,而NUMERIC2必须大于1。
使用示例:CEIL(${1:}) 说明:将NUMERIC向上舍入,并返回大于或等于NUMERIC的最小整数。
使用示例:CEILING(${1:}) 说明:将NUMERIC向上舍入,并返回大于或等于NUMERIC的最小整数。
76)string1 || string2
使用示例:${1:} || ${2:} 说明:返回string1和string2的连接。
77)UPPER(string)
使用示例:UPPER(${1:}) 说明:以大写形式返回STRING。
使用示例:LOWER(${1:}) 说明:以小写形式返回STRING。
79)POSITION(string1 IN string2)
使用示例:POSITION(${1:} IN ${2:}) 说明:返回STRING1在STRING2中第一次出现的位置(从1开始); 如果在STRING2中找不到STRING1,则返回0 。
80)TRIM([ BOTH | LEADING | TRAILING ] string1 FROM string2)
使用示例:TRIM(${1:} FROM ${2:}) 说明:回一个字符串,该字符串从STRING中删除前导和/或结尾字符。
使用示例:LTRIM(${1:}) 说明:返回一个字符串,该字符串从STRING除去左空格。 例如," This is a test String.".ltrim()返回“This is a test String.”。
使用示例:RTRIM(${1:}) 说明:返回一个字符串,该字符串从STRING中删除正确的空格。 例如,"This is a test String. ".rtrim()返回“This is a test String.”。
使用示例:REPEAT(${1:}, ${2:}) 说明:返回一个字符串,该字符串重复基本STRING INT次。 例如,"This is a test String.".repeat(2)返回“This is a test String.This is a test String.”。
84)REGEXP_REPLACE(string1, string2, string3)
使用示例:REGEXP_REPLACE(${1:} , ${2:} , ${3:} ) 说明:返回字符串STRING1所有匹配正则表达式的子串STRING2连续被替换STRING3。 例如,"foobar".regexpReplace("oo|ar", "")返回“ fb”。
85)OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ])
使用示例:OVERLAY(${1:} PLACING ${2:} FROM ${3:}) 说明:从位置INT1返回一个字符串,该字符串将STRING1的INT2(默认为STRING2的长度)字符替换为STRING2
86)SUBSTRING(string FROM integer1 [ FOR integer2 ])
使用示例:SUBSTRING${1:} FROM ${2:} ) 说明:返回字符串STRING的子字符串,从位置INT1开始,长度为INT2(默认为结尾)。
87)REPLACE(string1, string2, string3)
使用示例:REPLACE(${1:} , ${2:} , ${3:} ) 说明:返回一个新字符串替换其中出现的所有STRING2与STRING3(非重叠)从STRING1。
88)REGEXP_EXTRACT(string1, string2[, integer])
使用示例:REGEXP_EXTRACT(${1:}, ${2:}) 说明:从STRING1返回一个字符串,该字符串使用指定的正则表达式STRING2和正则表达式匹配组索引INTEGER1提取。
使用示例:INITCAP(${1:}) 说明:返回一种新形式的STRING,其中每个单词的第一个字符转换为大写,其余字符转换为小写。
90)CONCAT(string1, string2,...)
使用示例:CONCAT(${1:} , ${2:} , ${3:} ) 说明:返回连接STRING1,STRING2,...的字符串。如果任何参数为NULL,则返回NULL。
91)CONCAT_WS(string1, string2, string3,...)
使用示例:CONCAT_WS(${1:} , ${2:} , ${3:} ) 说明:返回一个字符串,会连接STRING2,STRING3,......与分离STRING1。
92)LPAD(string1, integer, string2)
使用示例:LPAD(${1:} , ${2:} , ${3:} ) 说明:返回一个新字符串,该字符串从STRING1的左侧填充STRING2,长度为INT个字符。
93)RPAD(string1, integer, string2)
使用示例:RPAD(${1:} , ${2:} , ${3:} ) 说明:返回一个新字符串,该字符串从STRING1右侧填充STRING2,长度为INT个字符。
使用示例:FROM_BASE64(${1:}) 说明:返回来自STRING的base64解码结果;如果STRING为NULL,则返回null 。
95)TO_BASE64(string)
使用示例:TO_BASE64(${1:}) 说明:从STRING返回base64编码的结果;如果STRING为NULL,则返回NULL。
使用示例:ASCII(${1:}) 说明:返回字符串的第一个字符的数值。如果字符串为NULL,则返回NULL。仅在blink planner中支持。
使用示例:CHR(${1:}) 说明:返回与integer在二进制上等价的ASCII字符。如果integer大于255,我们将首先得到integer的模数除以255,并返回模数的CHR。如果integer为NULL,则返回NULL。仅在blink planner中支持。
98)DECODE(binary, string)
使用示例:DECODE(${1:}, ${2:}) 说明:使用提供的字符集('US-ASCII', 'ISO-8859-1', 'UTF-8', 'UTF-16BE', 'UTF-16LE', 'UTF-16'之一)将第一个参数解码为字符串。如果任意一个参数为空,结果也将为空。仅在blink planner中支持。
使用示例:ENCODE(${1:}, ${2:}) 说明:使用提供的string2字符集('US-ASCII', 'ISO-8859-1', 'UTF-8', 'UTF-16BE', 'UTF-16LE', 'UTF-16'之一)将string1编码为二进制。如果任意一个参数为空,结果也将为空。仅在blink planner中支持。
使用示例:INSTR(${1:}, ${2:}) 说明:返回string2在string1中第一次出现的位置。如果任何参数为空,则返回NULL。仅在blink planner中支持。
使用示例:LEFT(${1:}, ${2:}) 说明:返回字符串中最左边的整数字符。如果整数为负,则返回空字符串。如果任何参数为NULL,则返回NULL。仅在blink planner中支持。
使用示例:RIGHT(${1:}, ${2:}) 说明:返回字符串中最右边的整数字符。如果整数为负,则返回空字符串。如果任何参数为NULL,则返回NULL。仅在blink planner中支持。
103)LOCATE(string1, string2[, integer])
使用示例:LOCATE(${1:}, ${2:}) 说明:返回string1在string2中的位置整数之后第一次出现的位置。如果没有找到,返回0。如果任何参数为NULL,则返回NULL仅在blink planner中支持。
104)PARSE_URL(string1, string2[, string3])
使用示例:PARSE_URL(${1:} , ${2:}) 说明:从URL返回指定的部分。string2的有效值包括'HOST', 'PATH', 'QUERY', 'REF', 'PROTOCOL', 'AUTHORITY', 'FILE'和'USERINFO'。如果任何参数为NULL,则返回NULL。仅在blink planner中支持。
使用示例:REGEXP(${1:}, ${2:}) 说明:如果string1的任何子字符串(可能为空)与Java正则表达式string2匹配,则返回TRUE,否则返回FALSE。如果任何参数为NULL,则返回NULL。仅在blink planner中支持。
106)REVERSE(string)
使用示例:REVERSE(${1:}) 说明:返回反向字符串。如果字符串为NULL,则返回NULL仅在blink planner中支持。
107)SPLIT_INDEX(string1, string2, integer1)
使用示例:SPLIT_INDEX(${1:}, ${2:} , ${3:}) 说明:通过分隔符string2拆分string1,返回拆分字符串的整数(从零开始)字符串。如果整数为负,返回NULL。如果任何参数为NULL,则返回NULL。仅在blink planner中支持。
108)STR_TO_MAP(string1[, string2, string3]])
使用示例:STR_TO_MAP(${1:}) 说明:使用分隔符将string1分割成键/值对后返回一个映射。string2是pair分隔符,默认为','。string3是键值分隔符,默认为'='。仅在blink planner中支持。
109)SUBSTR(string[, integer1[, integer2]])
使用示例:SUBSTR(${1:}) 说明:返回一个字符串的子字符串,从位置integer1开始,长度为integer2(默认到末尾)。仅在blink planner中支持。
使用示例:CHAR_LENGTH(${1:}) 说明:返回STRING中的字符数。
使用示例:CHARACTER_LENGTH(${1:}) 说明:返回STRING中的字符数。
112)DATE string
使用示例:DATE(${1:}) 说明:返回以“ yyyy-MM-dd”形式从STRING解析的SQL日期。
113)TIME string
使用示例:TIME(${1:}) 说明:返回以“ HH:mm:ss”的形式从STRING解析的SQL时间。
114)TIMESTAMP string
使用示例:TIMESTAMP(${1:}) 说明:返回从STRING解析的SQL时间戳,格式为“ yyyy-MM-dd HH:mm:ss [.SSS]”
使用示例:INTERVAL ${1:} range 说明:解析“dd hh:mm:ss”形式的区间字符串。fff表示毫秒间隔,yyyy-mm表示月间隔。间隔范围可以是天、分钟、天到小时或天到秒,以毫秒为间隔;年或年到月的间隔。
116)CURRENT_DATE
使用示例:CURRENT_DATE 说明:返回UTC时区中的当前SQL日期。
117)CURRENT_TIME
使用示例:CURRENT_TIME 说明:返回UTC时区的当前SQL时间。
使用示例:CURRENT_TIMESTAMP 说明:返回UTC时区内的当前SQL时间戳。
119)LOCALTIME
使用示例:LOCALTIME 说明:返回本地时区的当前SQL时间。
120)LOCALTIMESTAMP
使用示例:LOCALTIMESTAMP 说明:返回本地时区的当前SQL时间戳。
121)EXTRACT(timeintervalunit FROM temporal)
使用示例:EXTRACT(${1:} FROM ${2:}) 说明:返回从时域的timeintervalunit部分提取的长值。
122)YEAR(date)
使用示例:YEAR(${1:}) 说明:返回SQL date日期的年份。等价于EXTRACT(YEAR FROM date)。
123)QUARTER(date)
使用示例:QUARTER(${1:}) 说明:从SQL date date返回一年中的季度(1到4之间的整数)。相当于EXTRACT(从日期起四分之一)。
124)MONTH(date)
使用示例:MONTH(${1:}) 说明:返回SQL date date中的某月(1到12之间的整数)。等价于EXTRACT(MONTH FROM date)。
125)WEEK(date)
使用示例:WEEK(${1:}) 说明:从SQL date date返回一年中的某个星期(1到53之间的整数)。相当于EXTRACT(从日期开始的星期)。
使用示例:DAYOFYEAR(${1:}) 说明:返回SQL date date中的某一天(1到366之间的整数)。相当于EXTRACT(DOY FROM date)。
127)DAYOFMONTH(date)
使用示例:DAYOFMONTH(${1:}) 说明:从SQL date date返回一个月的哪一天(1到31之间的整数)。相当于EXTRACT(DAY FROM date)。
128)DAYOFWEEK(date)
使用示例:DAYOFWEEK(${1:}) 说明:返回星期几(1到7之间的整数;星期日= 1)从SQL日期日期。相当于提取(道指从日期)。
129)HOUR(timestamp)
使用示例:HOUR(${1:}) 说明:从SQL timestamp timestamp返回一天中的小时(0到23之间的整数)。相当于EXTRACT(HOUR FROM timestamp)。
使用示例:MINUTE(${1:}) 说明:从SQL timestamp timestamp返回一小时的分钟(0到59之间的整数)。相当于EXTRACT(分钟从时间戳)。
使用示例:SECOND(${1:}) 说明:从SQL时间戳返回一分钟中的秒(0到59之间的整数)。等价于EXTRACT(从时间戳开始倒数第二)。
132)FLOOR(timepoint TO timeintervalunit)
使用示例:FLOOR(${1:} TO ${2:}) 说明:返回一个将timepoint舍入到时间单位timeintervalunit的值。
使用示例:CEIL(${1:} TO ${2:}) 说明:返回一个将timepoint舍入到时间单位timeintervalunit的值。
134)(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2)
使用示例:(${1:} , ${1:}) OVERLAPS (${2:} , ${2:}) 说明:如果(timepoint1, temporal1)和(timepoint2, temporal2)定义的两个时间间隔重叠,则返回TRUE。时间值可以是时间点或时间间隔。
135)DATE_FORMAT(timestamp, string)
使用示例:DATE_FORMAT(${1:}, 'yyyy-MM-dd') 说明:注意这个功能有严重的错误,现在不应该使用。请实现一个自定义的UDF,或者使用EXTRACT作为解决方案。
136)TIMESTAMPADD(timeintervalunit, interval, timepoint)
使用示例:TIMESTAMPADD(${1:} , ${2:} , ${3:}) 说明:返回一个新的时间值,该值将一个(带符号的)整数间隔添加到时间点。间隔的单位由unit参数给出,它应该是以下值之一:秒、分、小时、日、周、月、季度或年。
137)TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)
使用示例:TIMESTAMPDIFF(${1:} , ${2:} , ${3:}) 说明:返回timepointunit在timepoint1和timepoint2之间的(带符号)数。间隔的单位由第一个参数给出,它应该是以下值之一:秒、分、小时、日、月或年。
138)CONVERT_TZ(string1, string2, string3)
使用示例:CONVERT_TZ(${1:} , ${2:} , ${3:}) 说明:将时区string2中的datetime string1(默认ISO时间戳格式'yyyy-MM-dd HH:mm:ss')转换为时区string3。时区的格式可以是缩写,如“PST”;可以是全名,如“America/Los_Angeles”;或者是自定义ID,如“GMT-8:00”。仅在blink planner中支持。
139)FROM_UNIXTIME(numeric[, string])
使用示例:FROM_UNIXTIME(${1:} ) 说明:以字符串格式返回数值参数的表示形式(默认为'yyyy-MM-dd HH:mm:ss')。numeric是一个内部时间戳值,表示从UTC '1970-01-01 00:00:00'开始的秒数,例如UNIX_TIMESTAMP()函数生成的时间戳。返回值用会话时区表示(在TableConfig中指定)。仅在blink planner中支持。
140)UNIX_TIMESTAMP()
使用示例:UNIX_TIMESTAMP() 说明:获取当前Unix时间戳(以秒为单位)。仅在blink planner中支持。
141)UNIX_TIMESTAMP(string1[, string2])
使用示例:UNIX_TIMESTAMP(${1:}) 说明:转换日期时间字符串string1,格式为string2(缺省为yyyy-MM-dd HH:mm:ss,如果没有指定)为Unix时间戳(以秒为单位),使用表配置中指定的时区。仅在blink planner中支持。
142)TO_DATE(string1[, string2])
使用示例:TO_DATE(${1:}) 说明:将格式为string2的日期字符串string1(默认为'yyyy-MM-dd')转换为日期。仅在blink planner中支持。
143)TO_TIMESTAMP(string1[, string2])
使用示例:TO_TIMESTAMP(${1:}) 说明:将会话时区(由TableConfig指定)下的日期时间字符串string1转换为时间戳,格式为string2(默认为'yyyy-MM-dd HH:mm:ss')。仅在blink planner中支持。
使用示例:NOW() 说明:返回UTC时区内的当前SQL时间戳。仅在blink planner中支持。
使用示例:CASE ${1:} WHEN ${2:} THEN ${3:} ELSE ${4:} END AS ${5:} 说明:当第一个时间值包含在(valueX_1, valueX_2,…)中时,返回resultX。如果没有匹配的值,则返回resultZ,否则返回NULL。
146)CASE WHEN condition1 THEN result1 [ WHEN condition2 THEN result2 ]* [ ELSE resultZ ] END
使用示例:CASE WHEN ${1:} THEN ${2:} ELSE ${3:} END AS ${4:} 说明:当第一个条件满足时返回resultX。当不满足任何条件时,如果提供了resultZ则返回resultZ,否则返回NULL。
使用示例:NULLIF(${1:}, ${2:}) 说明:如果value1等于value2,则返回NULL;否则返回value1。
148)COALESCE(value1, value2 [, value3 ]* )
使用示例:COALESCE(${1:} ) 说明:返回value1, value2, ....中的第一个非空值
149)IF(condition, true_value, false_value)
使用示例:IF((${1:}, ${2:}, ${3:}) 说明:如果条件满足则返回true值,否则返回false值。仅在blink planner中支持。
150)IS_ALPHA(string)
使用示例:IS_ALPHA(${1:}) 说明:如果字符串中所有字符都是字母则返回true,否则返回false。仅在blink planner中支持。
使用示例:IS_DECIMAL(${1:}) 说明:如果字符串可以被解析为有效的数字则返回true,否则返回false。仅在blink planner中支持。
使用示例:IS_DIGIT(${1:}) 说明:如果字符串中所有字符都是数字则返回true,否则返回false。仅在blink planner中支持。
153)CAST(value AS type)
使用示例:CAST(${1:} AS ${2:}) 说明:返回一个要转换为type类型的新值。
使用示例:CARDINALITY(${1:}) 说明:返回数组中元素的数量。
使用示例:array[${1:}] 说明:返回数组中位于整数位置的元素。索引从1开始。
156)ELEMENT(array)
使用示例:ELEMENT(${1:}) 说明:返回数组的唯一元素(其基数应为1);如果数组为空,则返回NULL。如果数组有多个元素,则抛出异常。
157)CARDINALITY(map)
使用示例:CARDINALITY(${1:}) 说明:返回map中的条目数。
使用示例:map[${1:}] 说明:返回map中key value指定的值。
159)ARRAY ‘[’ value1 [, value2 ]* ‘]’
使用示例:ARRAY[ ${1:} ] 说明:返回一个由一系列值(value1, value2,…)创建的数组。
160)MAP ‘[’ value1, value2 [, value3, value4 ]* ‘]’
使用示例:MAP[ ${1:} ] 说明:返回一个从键值对列表((value1, value2), (value3, value4),…)创建的映射。
161)implicit constructor with parenthesis (value1 [, value2]*)
使用示例:(${1:}) 说明:返回从值列表(value1, value2,…)创建的行。
162)explicit ROW constructor ROW(value1 [, value2]*)
使用示例:ROW(${1:}) 说明:返回从值列表(value1, value2,…)创建的行。
163)tableName.compositeType.field
使用示例:tableName.compositeType.field 说明:按名称从Flink复合类型(例如,Tuple, POJO)中返回一个字段的值。
使用示例:tableName.compositeType.* 说明:返回Flink复合类型(例如,Tuple, POJO)的平面表示,它将每个直接子类型转换为一个单独的字段。在大多数情况下,平面表示的字段的名称与原始字段类似,但使用了$分隔符(例如,mypojo$mytuple$f0)。
165)GROUP_ID()
使用示例:GROUP_ID() 说明:返回唯一标识分组键组合的整数
166)GROUPING(expression1 [, expression2]* ) GROUPING_ID(expression1 [, expression2]* )
使用示例:GROUPING(${1:}) 说明:返回给定分组表达式的位向量。
167)MD5(string)
使用示例:MD5(${1:}) 说明:以32位十六进制数字的字符串形式返回string的MD5哈希值;如果字符串为NULL,则返回NULL。
168)SHA1(string)
使用示例:SHA1(${1:}) 说明:返回字符串的SHA-1散列,作为一个由40个十六进制数字组成的字符串;如果字符串为NULL,则返回NULL
169)SHA224(string)
使用示例:SHA224(${1:}) 说明:以56位十六进制数字的字符串形式返回字符串的SHA-224散列;如果字符串为NULL,则返回NULL。
使用示例:SHA256(${1:}) 说明:以64位十六进制数字的字符串形式返回字符串的SHA-256散列;如果字符串为NULL,则返回NULL。
171)SHA384(string)
使用示例:SHA384(${1:}) 说明:以96个十六进制数字的字符串形式返回string的SHA-384散列;如果字符串为NULL,则返回NULL。
172)SHA512(string)
使用示例:SHA512(${1:}) 说明:以128位十六进制数字的字符串形式返回字符串的SHA-512散列;如果字符串为NULL,则返回NULL。
使用示例:SHA2(${1:}, ${2:}) 说明:使用SHA-2哈希函数族(SHA-224、SHA-256、SHA-384或SHA-512)返回哈希值。第一个参数string是要散列的字符串,第二个参数hashLength是结果的位长度(224、256、384或512)。如果string或hashLength为NULL,则返回NULL。
174)COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*)
使用示例:COUNT( DISTINCT ${1:}) 说明:默认情况下或使用ALL时,返回表达式不为空的输入行数。对每个值的唯一实例使用DISTINCT。
使用示例:COUNT(${1:}) 说明:返回输入行数。
176)AVG([ ALL | DISTINCT ] expression)
使用示例:AVG(${1:}) 说明:默认情况下,或使用关键字ALL,返回表达式在所有输入行中的平均值(算术平均值)。对每个值的唯一实例使用DISTINCT。
177)SUM([ ALL | DISTINCT ] expression)
使用示例:SUM(${1:}) 说明:默认情况下,或使用关键字ALL,返回所有输入行表达式的和。对每个值的唯一实例使用DISTINCT。
178)MAX([ ALL | DISTINCT ] expression)
使用示例:MAX(${1:}) 说明:默认情况下或使用关键字ALL,返回表达式在所有输入行中的最大值。对每个值的唯一实例使用DISTINCT。
179)MIN([ ALL | DISTINCT ] expression)
使用示例:MIN(${1:}) 说明:默认情况下,或使用关键字ALL,返回表达式在所有输入行中的最小值。对每个值的唯一实例使用DISTINCT。
180)STDDEV_POP([ ALL | DISTINCT ] expression)
使用示例:STDDEV_POP(${1:}) 说明:默认情况下,或使用关键字ALL,返回表达式在所有输入行中的总体标准差。对每个值的唯一实例使用DISTINCT。
181)STDDEV_SAMP([ ALL | DISTINCT ] expression)
使用示例:STDDEV_SAMP(${1:}) 说明:默认情况下或使用关键字ALL时,返回表达式在所有输入行中的样本标准差。对每个值的唯一实例使用DISTINCT。
182)VAR_POP([ ALL | DISTINCT ] expression)
使用示例:VAR_POP(${1:}) 说明:默认情况下,或使用关键字ALL,返回表达式在所有输入行中的总体方差(总体标准差的平方)。对每个值的唯一实例使用DISTINCT。
183)VAR_SAMP([ ALL | DISTINCT ] expression)
使用示例:VAR_SAMP(${1:}) 说明:默认情况下,或使用关键字ALL,返回表达式在所有输入行中的样本方差(样本标准差的平方)。对每个值的唯一实例使用DISTINCT。
184)COLLECT([ ALL | DISTINCT ] expression)
使用示例:COLLECT(${1:}) 说明:默认情况下,或使用关键字ALL,跨所有输入行返回表达式的多集。空值将被忽略。对每个值的唯一实例使用DISTINCT。
185)VARIANCE([ ALL | DISTINCT ] expression)
使用示例:VARIANCE(${1:}) 说明:VAR_SAMP的同义词。仅在blink planner中支持。
186)RANK()
使用示例:RANK() 说明:返回值在一组值中的秩。结果是1加上分区顺序中位于当前行之前或等于当前行的行数。这些值将在序列中产生空白。仅在blink planner中支持。
187)DENSE_RANK()
使用示例:DENSE_RANK() 说明:返回值在一组值中的秩。结果是1加上前面分配的秩值。与函数rank不同,dense_rank不会在排序序列中产生空隙。仅在blink planner中支持。
188)ROW_NUMBER()
使用示例:ROW_NUMBER() 说明:根据窗口分区中的行顺序,为每一行分配一个惟一的连续数字,从1开始。仅在blink planner中支持。
189)LEAD(expression [, offset] [, default] )
使用示例:LEAD(${1:}) 说明:返回表达式在窗口中当前行之前的偏移行上的值。offset的默认值是1,default的默认值是NULL。仅在blink planner中支持。
190)LAG(expression [, offset] [, default])
使用示例:LAG(${1:}) 说明:返回表达式的值,该值位于窗口中当前行之后的偏移行。offset的默认值是1,default的默认值是NULL。仅在blink planner中支持。
使用示例:FIRST_VALUE(${1:}) 说明:返回一组有序值中的第一个值。仅在blink planner中支持。
使用示例:LAST_VALUE(${1:}) 说明:返回一组有序值中的最后一个值。仅在blink planner中支持。
193)LISTAGG(expression [, separator])
使用示例:LISTAGG(${1:}) 说明:连接字符串表达式的值,并在它们之间放置分隔符值。分隔符没有添加在字符串的末尾。分隔符的默认值是','。仅在blink planner中支持。
194)withColumns(…)
使用示例:withColumns(${1:}) 说明:选择的列
使用示例:withoutColumns(${1:}) 说明:不选择的列
196)value1 = value2
使用示例:${1:} =${2:} 说明:如果value1等于value2 返回true; 如果value1或value2为NULL,则返回UNKNOWN 。
还没有评论,来说两句吧...