• Flink基础(四十四):FLINK SQL(二十) 内置函数(二)字符串函数(一)


    字符串函数

    语法

    MAP STR_TO_MAP(VARCHAR text)
    MAP STR_TO_MAP(VARCHAR text, VARCHAR listDelimiter, VARCHAR keyValueDelimiter) 

    功能描述

    使用listDelimiter将text分隔成K-V对,然后使用keyValueDelimiter分隔每个K-V对,组装成MAP返回。默认listDelimiter为(,), keyValueDelimiter为(=)。

    入参

    参数数据类型说明
    text VARCHAR 输入文本。
    listDelimiter VARCHAR 用来将text分隔成K-V对。默认为( ,)。
    keyValueDelimiter VARCHAR 用来分隔每个key和value。默认为( =)。

    测试语句

    SELECT
      STR_TO_MAP('k1=v1,k2=v2')['k1'] as a
    FROM T1;

    测试结果

     
    a(VARCHAR)
    v1

    语法

    INTEGER POSITION( x IN  y)

    入参

     
    参数数据类型
    x VARCHAR
    y VARCHAR

    功能描述

    返回目标字符串x在被查询字符串y里第一次出现的位置。如果目标字符串x在被查询字符串y中不存在,返回值为0。

    示例

    • 测试语句
       
      POSITION('in' IN 'china') as result
      FROM T1; 
    • 测试结果
       
      result(INT)
      3

    语法

     
    VARCHAR TRIM( VARCHAR x )

    入参

     
    参数数据类型
    x VARCHAR

    功能描述

    除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空格。

    示例

    • 测试语句
       
      SELECT TRIM('   Sample   ') as result
      FROM   T1;    
    • 测试结果
       
      result(VARCHAR)
      Sample

    语法

     
    VARCHAR OVERLAY ( (VARCHAR x PLACING VARCHAR y FROM INT start_position [ FOR INT length ]) )

    入参

     
    参数数据类型
    x VARCHAR
    y VARCHAR
    start_position INT
    length(可选) INT

    功能描述

    用y替换x的子串。从start_position开始,替换length+1个字符。

    示例

    • 测试语句
       
      OVERLAY('abcdefg' PLACING 'hij' FROM 2 FOR 2) as result
      FROM  T1;
    • 测试结果
       
      result(VARCHAR)
      ahijdefg

    语法

     
     VARCHAR INITCAP(A)

    入参

     
    参数数据类型
    A VARCHAR

    功能描述

    返回字符串,每个字转换器的第一个字母大写,其余为小写。

    示例

    • 测试数据
       
      var1(VARCHAR)
      aADvbn
    • 测试语句
       
      SELECT INITCAP(var1)as aa
      FROM T1;  
    • 测试结果
       
      aa(VARCHAR)
      Aadvbn
     

    语法

     
    VARCHAR REPLACE(str1, str2, str3)     

    入参

     
    参数数据类型说明
    str1 VARCHAR 原字符
    str2 VARCHAR 目标字符
    str3 VARCHAR 替换字符

    功能描述

    字符串替换函数。

    示例

    • 测试数据
       
      str1(INT)str2(INT)str3(INT)
      alibaba blink blink flink
    • 测试语句
       
      SELECT REPLACE(str1, str2, str3) as `result`
      FROM T1;     
    • 测试结果
       
      result(VARCHAR)
      alibaba flink
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Fortran学习记录1(Fortran数据类型)
    ABAQUS学习记录1——用户子程序综述
    Abaqus用户子程序umat的学习
    信号基础知识---线阵
    信号基础知识--FFT DFT
    信号基础知识
    服务器文件打压缩包下载(java)
    网页鼠标特效-点击漂浮文字
    jQuery父子页面之间元素、方法获取、调用
    常用数字与字母的正则表达式
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15000243.html
Copyright © 2020-2023  润新知