• JSON_VALUE

语法

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 $.ccc.hhh[*]
    3 $.ccc.hhh[1]
    4 [10, 20, [30, 40]] NULL
    5 NULL $[2][*]
    6
  • 测试语句
     
    SELECT 
        id,
        JSON_VALUE(json, path1) AS `value`
    FROM 
        T1;
  • 测试结果
     
    id (INT) value (VARCHAR)
    1 [30,40]
    2
    3 H1
    4 NULL
    5 NULL
    6 NULL
  • CHR

语法

 
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

 

  • CONCAT

语法

 
 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

 

  • CONCAT_WS

语法

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
  • LPAD

语法

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

入参

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

功能描述

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

任意参数为null时返回null。

len为负数时返回为null。

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
  • RPAD

语法

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

入参

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

功能描述

len为止。
  • 如果任意参数为null时,则返回null。
  • len长度为负数时,则返回null。
  • str裁剪后的结果。
  • 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

 

相关文章: