Flink基础(56):FLINK-SQL函数(19)内置函数(14)字符串函数(五)
语法
BOOLEAN REGEXP(VARCHAR str, VARCHAR pattern)
入参
参数 | 数据类型 | 说明 |
---|---|---|
str | VARCHAR | 指定的字符串。 |
pattern | VARCHAR | 指定的匹配模式。 |
功能描述
对指定的字符串执行一个正则表达式搜索,并返回一个Boolean值表示是否找到指定的匹配模式。如果str或者pattern为空或为NULL时,则返回false。
示例
- 测试数据
str1(VARCHAR) pattern1(VARCHAR) k1=v1;k2=v2 k2* k1:v1|k2:v2 k3 null k3 k1:v1|k2:v2 null k1:v1|k2:v2 ( - 测试语句
SELECT REGEXP(str1, pattern1) AS result FROM T1;
- 测试结果
result(BOOLEAN) true false false false false
语法
VARCHAR PARSE_URL(VARCHAR urlStr, VARCHAR partToExtract [, VARCHAR key])
入参
参数 | 数据类型 | 说明 |
---|---|---|
urlStr | VARCHAR | 链接 |
partToExtract | VARCHAR | 指定链接中解析的部分。取值如下:
|
key | VARCHAR | 可选,指定截取部分中,具体的键。 |
功能描述
返回urlStr中指定的部分解析后的值。如果urlStr参数值为null时,则返回值为null。
示例
- 测试数据
url1(VARCHAR) nullstr(VARCHAR) http://facebook.com/path/p1.php?query=1 null - 测试语句
SELECT PARSE_URL(url1, 'QUERY', 'query') as var1, PARSE_URL(url1, 'QUERY') as var2, PARSE_URL(url1, 'HOST') as var3, PARSE_URL(url1, 'PATH') as var4, PARSE_URL(url1, 'REF') as var5, PARSE_URL(url1, 'PROTOCOL') as var6, PARSE_URL(url1, 'FILE') as var7, PARSE_URL(url1, 'AUTHORITY') as var8, PARSE_URL(nullstr, 'QUERY') as var9, PARSE_URL(url1, 'USERINFO') as var10, PARSE_URL(nullstr, 'QUERY', 'query') as var11 FROM T1;
- 测试结果
var1(VARCHAR) var2(VARCHAR) var3(VARCHAR) var4(VARCHAR) var5(VARCHAR) var6(VARCHAR) var7(VARCHAR) var8(VARCHAR) var9(VARCHAR) var10(VARCHAR) var11(VARCHAR) 1 query=1 facebook.com /path/p1.php null http /path/p1.php?query=1 facebook.com null null null
语法
VARCHAR TO_BASE64(bin)
入参
参数 | 数据类型 |
---|---|
bin | BINARY |
功能描述
将BINARY类型数据转换成对应base64编码的字符串输出。
示例
- 测试数据
c(VARCHAR) SGVsbG8gd29ybGQ= SGk= SGVsbG8= - 测试语句
SELECT TO_BASE64(FROM_BASE64(c)) as var1 FROM T1;
- 测试结果
var1(VARCHAR) SGVsbG8gd29ybGQ= SGk= SGVsbG8=
语法
BINARY FROM_BASE64(str)
入参
参数 | 数据类型 | 说明 |
---|---|---|
str | VARCHAR | base64编码的字符串。 |
功能描述
将base64编码的字符串str解析成对应的binary类型数据输出。
示例
- 测试数据
a(INT) b(BIGINT) c(VARCHAR) 1 1L null - 测试语句
SELECT from_base64(c) as var1,from_base64('SGVsbG8gd29ybGQ=') as var2 FROM T1;
- 测试结果
var1(BINARY) var2(BINARY) null Byte Array: [72('H'), 101('e'), 108('l'), 108('l'), 111('o'), 32(' '), 119('w'), 111('o'), 114('r'), 108('l'), 100('d')]
语法
INT instr( string1, string2 )
INT instr( string1, string2 [, start_position [, nth_appearance ] ] )
入参
参数 | 数据类型 | 说明 |
---|---|---|
string1 | VARCHAR | 源字符串,要在该字符串中查找string2。 |
string2 | VARCHAR | 目标字符串,string1中查找的字符串。 |
start_position | INT | 起始位置,表示在string1中开始查找的其实位置:
|
nth_appearance | INT | 匹配序号代表要查找第几次出现的string2:
|
功能描述
返回目标字符串在源字符串中的位置,如果在源字符串中未找到目标字符串,则返回0。
示例
- 测试数据
string1(VARCHAR) helloworld - 测试语句
SELECT instr('helloworld','lo') as res1, instr('helloworld','l',-1,1) as res2, instr('helloworld','l',3,2) as res3 FROM T1;
- 测试结果
res1(INT) res2(INT) res3(INT) 4 9 4
本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15058329.html