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 指定鏈接中解析的部分。取值如下:
  • HOST
  • PATH
  • QUERY
  • REF
  • PROTOCOL
  • FILE
  • AUTHORITY
  • USERINFO
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中開始查找的其實位置:
  • 該參數省略(默認): 字符串索引從1開始。
  • 該參數為正:從左到右開始檢索。
  • 該參數為負:從右到左開始檢索。
nth_appearance INT 匹配序號代表要查找第幾次出現的string2:
  • 該參數省略(默認):第1次出現。
  • 該參數為負:系統報錯。

功能描述

返回目標字符串在源字符串中的位置,如果在源字符串中未找到目標字符串,則返回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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM