zoukankan      html  css  js  c++  java
  • Flink基础(53):FLINK-SQL函数(16)内置函数(11)字符串函数(二)

    语法

    VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path)

    入参

    • content

      VARCHAR类型,需要解析的JSON对象,使用字符串表示。

    • path
      VARCHAR类型,解析JSON的路径表达式。 目前path支持如下表达式。
       
      符号功能
      $ 根对象
      [] 数组下标
      * 数组通配符
      . 取子元素

    功能描述

    从JSON字符串中提取指定path的值,不合法的JSON和null都统一返回null。

    示例

    • 测试数据
       
      id(INT)json(VARCHAR)path1(VARCHAR)
      1 [10, 20, [30, 40]] $[2][*]
      2 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[*]
      3 {"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg",hhh":["h0","h1","h2"]},"iii":"jjj"} $.ccc.hhh[1]
      4 [10, 20, [30, 40]] NULL
      5 NULL $[2][*]
      6 "{xx]" "$[2][*]"
    • 测试语句
       
      SELECT 
          id,
          JSON_VALUE(json, path1) AS `value`
      FROM 
          T1;
    • 测试结果
       
      id (INT)value (VARCHAR)
      1 [30,40]
      2 ["h0","h1","h2"]
      3 H1
      4 NULL
      5 NULL
      6 NULL

    语法

     
    VARCHAR CHR(INT ascii)

    入参

     
    参数数据类型说明

    ascii

    INT 是0到255之间的整数。如果不在此范围内,则返回NULL。

    功能描述

    将ASCII码转换为字符。

    示例

    • 测试数据
       
      int1(INT)int2(INT)int3(INT)
      255 97 65
    • 测试语句
       
      SELECT CHR(int1) as var1, CHR(int2) as var2, CHR(int3) as var3
      FROM T1;          
    • 测试结果
       
      var1(VARCHAR)var2(VARCHAR)var3(VARCHAR)
      ÿ a A

    语法

     
     VARCHAR CONCAT(VARCHAR var1, VARCHAR var2, ...)  

    入参

     
    参数数据类型说明
    var1 VARCHAR 普通字符串值
    var2 VARCHAR 普通字符串值

    功能描述

    连接两个或多个字符串值从而组成一个新的字符串。如果任一参数为NULL时,则跳过该参数。

    示例

    • 测试数据
       
      var1(VARCHAR)var2(VARCHAR)var3(VARCHAR)
      Hello My World
      Hello null World
      null null World
      null null null
    • 测试语句
       
      SELECT CONCAT(var1, var2, var3) as var
      FROM T1;              
    • 测试结果
       
      var(VARCHAR)
      HelloMyWorld
      HelloWorld
      World
      N/A

    语法

    VARCHAR CONCAT_WS(VARCHAR separator, VARCHAR var1, VARCHAR var2, ...)

    入参

     
    参数数据类型说明
    separator VARCHAR 分隔符
    var1 VARCHAR -
    var2 VARCHAR -

    功能描述

    将每个参数值和第一个参数separator指定的分隔符依次连接到一起组成新的字符串,长度和类型取决于输入值。

     
    说明 如果separator取值为null,则将separator视作与空串进行拼接。如果其它参数为NULL,在执行拼接过程中跳过取值为NULL的参数。

    示例

    • 测试数据
       
      sep(VARCHAR)str1(VARCHAR)str2(VARCHAR)str3(VARCHAR)
      | Jack Harry John
      null Jack Harry John
      | null Harry John
      | Jack null null
    • 测试语句
       
      SELECT CONCAT_WS(sep, str1, str2, str3) as var FROM T1;
    • 测试结果
       
      var(VARCHAR)
      Jack|Harry|John
      JackHarryJohn
      Harry|John
      Jack

    语法

     
    VARCHAR LPAD(VARCHAR str, INT len, VARCHAR pad)    

    入参

     
    参数数据类型说明
    str VARCHAR 启始的字符串。
    len INT 新的字符串的长度。
    pad VARCHAR 需要重复补充的字符串。

    功能描述

    字符串str左端填充若干个字符串pad,直到新的字符串达到指定长度len为止。

    任意参数为null时返回null。

    len为负数时返回为null。

    pad为空串时,如果len不大于str长度,返回str裁剪后的结果。如果len大于str长度时,则返回null。

    示例

    • 测试数据

       
      str(VARCHAR)len(INT)pad(VARCHAR)
      -2
      HelloWorld 15 John
      John 2 C
      C 4 HelloWorld
      null 2 C
      c 2 null
      asd 2
      2 s
      asd 4
      0
    • 测试语句

       
      SELECT LPAD(str, len, pad) AS result
      FROM T1;                
    • 测试结果
       
      result(VARCHAR)
      null
      JohnJHelloWorld
      Jo
      HelC
      null
      null
      as
      ss
      null

    语法

     
    VARCHAR RPAD(VARCHAR str, INT len, VARCHAR pad) 

    入参

     
    参数数据类型说明
    str VARCHAR 启始的字符串。
    len INT 新的字符串的长度。
    pad VARCHAR 需要重复补充的字符串。

    功能描述

    字符串str右端填充若干个字符串pad,直到新的字符串达到指定长度len为止。
    • 如果任意参数为null时,则返回null。
    • 如果len长度为负数时,则返回null。
    • pad为空串,如果len不大于str长度时,则返回str裁剪后的结果。
    • 如果len大于str长度,则返回null。

    示例

    • 测试数据
       
      str(VARCHAR)len(INT)pad(VARCHAR)
      -2
      HelloWorld 15 John
      John 2 C
      C 4 HelloWorld
      null 2 C
      c 2 null
      asd 2
      2 s
      asd 4
      0
    • 测试语句
       
      SELECT  RPAD(str, len, pad) as result
      FROM T1;           
    • 测试结果
       
      result(VARCHAR)
      null
      HelloWorldJohnJ
      Jo
      CHel
      null
      null
      as
      ss
      null

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/15058231.html

  • 相关阅读:
    Flask基础01
    Django logging配置
    JSONP和CORS跨域
    Scrapy框架
    请求库之urllib,requests及工具selenium
    MongoDB安装
    Django 视图层
    Django REST framework 2
    WebSocket
    爬虫性能相关
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/15058231.html
Copyright © 2011-2022 走看看