赞
踩
官方函数查询地址:https://nightlies.apache.org/flink/flink-docs-release-1.12/dev/table/functions/systemFunctions.html
可根据使用的版本查找,该链接为1.12版本。
- = <> > >= < <=
注意:select null=null; 返回为null
- IS NULL,IS NOT NULL
空判断和非空判断
- value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3
例如:select 1 between 0 and 2; 返回true。默认ASYMMETRIC 表示value1在闭区间内 [value2,value3]
- string1 LIKE string2 、string1 NOT LIKE string2
例如:select 'abc' like 'a%'; 返回true,用 '用%或_模糊数据
- value1 IN (value2 [, value3]* )、value1 NOT IN (value2 [, value3]* )
例如:select 'abc' in ('abc','e','f'); 返回true,要求类型必须一致(都为字符串,或都为其它)。select 1 in (1,2,3,4);
- EXISTS (sub-query)
例如:select EXISTS (select 1); 返回true(自查询至少返回一行时)
- value IN (sub-query)、value NOT IN (sub-query)
例如:select 1 in (select 1); 值等于子查询返回的行(只限于一个值),返回true. select 'abc' in (select 'abc');
- OR 、AND
- NOT boolean
- boolean IS FALSE、boolean IS NOT FALSE
- boolean IS TRUE、boolean IS NOT TRUE、
- boolean IS UNKNOWN、boolean IS NOT UNKNOWN
例如:select null=null IS UNKNOWN; 返回true
- + - * / % MOD(numeric1, numeric2)
例如:select MOD(3,2); 3除以2的余数=1.仅当numeric1为负时结果为负
- POWER(numeric1, numeric2)
例如:select POWER(2,3); 返回2 的 3次幂=8.0
- ABS(numeric)
例如:select ABS(-1); 返回绝对值1
- CEIL(numeric)
例如:向上取整 select CEIL(2.3); 返回3.000000
- FLOOR(numeric)
例如:向下取整 select FLOOR(2.3); 返回2.000000
- ROUND(numeric, integer)
例如:
--select ROUND(2.3,1); 保留1位小数2.30000。
--select ROUND(2.3,0); 保留0位小数 2.0000
- TRUNCATE(numeric1, integer2)
例如:select TRUNCATE(2.3,1);保留1位小数2.30000 select TRUNCATE(2.3,0) 保留0位小数 2.0000
- RAND()
介于 0.0(含)和 1.0(不含)之间的伪随机双精度值
- RAND(integer)
介于 0.0(含)和 1.0(不含)之间的伪随机双精度值。两个 RAND 函数具有相同的初始种子,它们将返回相同的数字序列。
- UUID()
返回 UUID(通用唯一标识符)字符串(例如,“3d3c68f7-f608-473f-b60c-b0c44ad4cc4e”)。UUID 是使用加密强的伪随机数生成器生成的。
- BIN(integer)
以二进制格式返回整数的字符串表示形式。如果整数为 NULL,则返回NULL。例如,BIN(4)返回“100”并BIN(12)返回“1100”
- HEX(numeric 或 string)
以十六进制格式返回整数数值或字符串的字符串表示形式
- string1 || string2 --拼接
例如:select 'abc' || 'def'; 返回abcdef
- CHAR_LENGTH(string) --字符个数
例如:select CHAR_LENGTH('abcdef'); 返回 6
- UPPER(string) --转大写
例如:select UPPER('aBc'); 返回 ABC
- LOWER(string) --转小写
例如:select LOWER('aBc'); 返回abc
- POSITION(string1 IN string2) --字串位置
例如:select POSITION('ab' in 'cdabcds'); 返回3
- TRIM([ BOTH | LEADING | TRAILING ] string1 FROM string2) --默认从两边去除第一个
例如:select TRIM(' abc ' from ' abcdefabc '); 返回def 。select TRIM(' abc '); 返回abc 两边的空格都被删除
- LTRIM(string) --去除左边的空格
- RTRIM(string) --去除右边的空格
- REPEAT(string, integer) --重复字符串整数次
例如:select REPEAT('ab',3); 返回 ababab
- REGEXP_REPLACE(string1, string2, string3) --将string1中符合正则表达式的 替换为 string3
例如:select REGEXP_REPLACE('foobar', 'oo|ar', ''); 返回 fb
- OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ]) --将指定位置的字符串替换
例如:select OVERLAY('This is an old string' PLACING ' new' FROM 10 FOR 5); 返回 This is a new string --不含FROM 10
- SUBSTRING(string FROM integer1 [ FOR integer2 ]) --从指定位置截取指定长度的字串
例如:select SUBSTRING('This is an old string'FROM 10 FOR 5); 返回 n old --含FROM 10
- REPLACE(string1, string2, string3) --替换
例如:select REPLACE('ababab', 'abab', 'z'); 用z替换abab 返回zab
- REGEXP_EXTRACT(string1, string2[, integer]) --正则表达式匹配
例如:select REGEXP_EXTRACT('foothebar', 'foo(.*?)(bar)', 2); 返回 bar 匹配索引从 1 开始,0 表示匹配整个正则表达式
- INITCAP(string) --第一个字符转换为大写,其余字符转换为小写
例如:select INITCAP('aBc'); 返回 Abc
- CONCAT(string1, string2,...) --拼接,如果任何参数为 NULL,则返回 NULL。
- CONCAT_WS(string1, string2, string3,...) --拼接,第一个字符拼接符不为null则不为null
例如:select CONCAT_WS('~', 'AA', NULL, 'BB', '', 'CC');会报错 Illegal use of 'NULL' --但官网说会跳过null
select CONCAT_WS('~', 'AA', 'BB', '', 'CC'); 返回“AA~BB~~CC”
- LPAD(string1, integer, string2) --从string1左边填充string2到整数字符的长度。如果string1的长度小于integer,则返回string1缩短为整数字符
例如:
LPAD('hi',4,'??')返回“??hi”;LPAD('hi',1,'??')返回“h”。
RPAD(string1, integer, string2) --从右边填充
RPAD('hi',4,'??')返回“hi??”,RPAD('hi',1,'??')返回“h”
- FROM_BASE64(string) --从string返回 base64 解码的结果;如果字符串为 NULL,则返回NULL。
例如:FROM_BASE64('aGVsbG8gd29ybGQ=')返回“hello world”。
TO_BASE64(string) --从string返回 base64 编码的结果;如果字符串为 NULL,则返回NULL。
--TO_BASE64('hello world')返回“aGVsbG8gd29ybGQ=”。
- ASCII(string) -- 返回string的第一个字符的数值
例如:ascii('abc')返回 97 (a的ascii码),并ascii(CAST(NULL AS VARCHAR))返回 NULL。
- INSTR(string1, string2) --返回string2在string1 中第一次出现的位置
例如:select INSTR('bcab','a'); 返回3
- LEFT(string, integer) --从左边截取
例如:select LEFT('abc2awe',2); 返回ab
- RIGHT(string, integer) --从右边截取
例如:select RIGHT('abcawe',3); 返回awe 从右边截取3个
- LOCATE(string1, string2[, integer]) --返回string2中string1在位置integer之后第一次出现的位置。如果未找到,则返回 0
- REGEXP(string1, string2) --如果string1 的任何(可能为空)子字符串与 Java 正则表达式string2匹配,则返回 TRUE
- REVERSE(string) --反转
例如:select REVERSE('abc'); 返回cba
- SPLIT_INDEX(string1, string2, integer1) --用分割符分割后取第n个字串(从0开始)
例如:select SPLIT_INDEX('abc|def|ghi','|',2); 返回ghi
- SUBSTR(string[, integer1[, integer2]]) --返回字符串的子字符串,从位置 integer1 开始,长度为 integer2(默认到末尾)
例如:select substr('abc',1,2); 返回ab
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。