字符串函数

字符串函数如下表所示:

函数

功能

CONCAT

将多个字符串连接在一起。

CONCAT_WS

将多个字符串按照指定的分隔符连接在一起。

FIND_IN_SET

在以逗号分隔的字符串中查找指定字符串的位置。

FORMAT_NUMBER

将数字格式化成带千分位和指定小数位的字符串。

JSON_EXTRACT

从JSON字符串中提取指定路径的值。

LENGTH

计算字符串长度。

LOWER

将字符串中的大写字符转换为对应的小写字符。

LPAD

将字符串向左补足到指定位数。

LTRIM

删除字符串左端空白字符。

REMOVE_STRING

移除字符串中的指定字符。

REPLACE

将字符串中与指定字符串匹配的子串替换为另一字符串。

RPAD

将字符串向右补足到指定位数。

RTRIM

删除字符串右端空白字符。

SUB_STRING

从一个字符串中的指定位置截取子字符串。

TRIM

删除字符串左右两端的空白字符。

UPPER

将字符串中的小写字符转换为对应的大写字符。

CONCAT

  • 函数说明

将多个字符串连接在一起。

  • 参数说明

    • expr1:必填,任意类型。待拼接的参数1。

    • expr2:必填,任意类型。待拼接的参数2。

    • exprN:可变参数,非必填,任意类型。待拼接的参数N。

  • 返回值说明

返回拼接后的字符串,如果任一输入参数值为NULL,则函数结果返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

CONCAT_WS

  • 函数说明

将参数中的多个字符串按照指定的分隔符连接在一起。

  • 参数说明

    • separator:必填,文本类型。指定的分隔符。

    • expr1:必填,任意类型。待拼接的参数1。

    • expr2:必填,任意类型。待拼接的参数2。

    • exprN:可变参数,非必填,任意类型。待拼接的参数N。

  • 返回值说明

返回拼接后的字符串,如果任一输入参数值为NULL,则函数结果返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

FIND_IN_SET

  • 函数说明

在以逗号为分割的字符串中查找子串,返回subStr在以逗号(,)分隔的字符串listStr中的位置,从1开始计数; 如果没有找到返回0;subStr或listStr为NULL时返回NULL。

  • 参数说明

    • subStr:必填,文本类型。待查找的子串。

    • listStr:必填,文本类型。以逗号分隔的字符串。

  • 返回值说明

返回subStr在listStr中的位置,从1开始计数,如果没有找到返回0;subStr或listStr为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、SPARK。

FORMAT_NUMBER

  • 函数说明

将数字格式化成带千分位和指定小数位的字符串。

  • 参数说明

    • number:必填,数值类型。待格式化的数字。

    • scale:必填,整数类型。保留的小数位。

  • 返回值说明

返回格式化后的字符串,当number为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

JSON_EXTRACT

  • 函数说明

从JSON字符串source中提取指定路径path的字符串值。

path的格式为:

'$':表示根节点。

'.'表示提取子节点(如$.a)。

[number]表示提取数组元素,下标从0开始(如$.a[2])。

  • 参数说明

    • source:必填,文本类型。JSON源数据。

    • path:必填,文本类型。提取的路径。

  • 返回值说明

如果JSON合法,path也存在,则返回对应字符串;如果source为不合法的JSON,或者path为NULL,或者JSON中path对应的内容不存在,则返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL(5.7+)、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

LENGTH

  • 函数说明

计算字符串str的长度,str为NULL时返回NULL。

  • 参数说明

    • str:必填,文本类型。待计算的字符串。

  • 返回值说明

返回字符串str的长度,str为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

LOWER

  • 函数说明

将字符串source中的大写字符转换为对应的小写字符。

  • 参数说明

    • source:必填,文本类型。源字符串。

  • 返回值说明

返回转为小写字符后的字符串,source为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

LPAD

  • 函数说明

用字符串str2将字符串str1向左补足到length位。

  • 参数说明

    • str1:必填,文本类型。待向左补位的字符串。

    • length:必填,整数类型。向左补位位数。

    • str2:必填,文本类型。补位的字符串。

  • 返回值说明

返回向左补足后的字符串,任一输入参数为NULL则返回结果为NULL。如果length小于str1的位数,则返回str1从左开始截取length位的字符串。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

LTRIM

  • 函数说明

删除字符串source左端的空白字符。

  • 参数说明

    • source:必填,文本类型。源字符串。

  • 返回值说明

返回source删除左端空白字符后的字符串,source为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

REMOVE_STRING

  • 函数说明

将源字符串source中与subStr字符串完全重合的部分移除并返回新的字符串,如果没有重合的字符串,返回源字符串source。

  • 参数说明

    • source:必填,文本类型。源字符串。

    • subStr:必填,文本类型。待移除的子字符串。

  • 返回值说明

移除子串后的新字符串。如果任一输入参数值为NULL,返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

REPLACE

  • 函数说明

用newStr字符串替换source字符串中与oldStr字符串完全重合的部分并返回替换后的新字符串,如果没有重合的字符串,返回源字符串source。

  • 参数说明

    • source:必填,文本类型。源字符串。

    • oldStr:必填,文本类型。待比较的字符串。

    • newStr:必填,文本类型。替换后的字符串。

  • 返回值说明

返回替换后的新字符串。如果任一输入参数值为NULL,返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

RPAD

  • 函数说明

用字符串str2将字符串str1向右补足到length位。

  • 参数说明

    • str1:必填,文本类型。待向右补位的字符串。

    • length:必填,整数类型。向右补位位数。

    • str2:必填,文本类型。补位的字符串。

  • 返回值说明

返回向右补足后的字符串,任一输入参数为NULL则返回结果为NULL。如果length小于str1的位数,则返回str1从左开始截取length位的字符串。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

RTRIM

  • 函数说明

删除字符串source右端的空白字符。

  • 参数说明

    • source:必填,文本类型。源字符串。

  • 返回值说明

返回source删除右端空白字符后的字符串,source为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

SUB_STRING

  • 函数说明

返回字符串source从startPosition开始,长度为length的子串。

startPosition的计数规则:

startPosition从1开始计数。

当startPosition为0时,返回空串。

当startPosition为负数时,表示开始位置是从字符串的结尾往前倒数,最后一个字符是-1,依次往前倒数。

  • 参数说明

    • source:必填,文本类型。源字符串。

    • startPosition:必填,整数类型。子串的起始位置。

    • length:选填,整数类型。子串的长度值,值必须大于0,当设置为常量值null时,返回到source结尾的子串。

  • 返回值说明

返回截取后的子字符串,source或者startPosition为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

TRIM

  • 函数说明

删除字符串source两端的空白字符。

  • 参数说明

    • source:必填,文本类型。源字符串。

  • 返回值说明

返回source删除两端空白字符后的字符串,source为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。

UPPER

  • 函数说明

将字符串source中的小写字符转换为对应的大写字符,source为NULL时返回NULL。

  • 参数说明

    • source:必填,文本类型。源字符串。

  • 返回值说明

返回转为大写字符后的字符串,source为NULL时返回NULL。

  • 支持的计算引擎

MaxCompute(ODPS)、MYSQL、RDS、HIVE、AnalyticDB PostgreSQL(ADB_PG)、POLAR_PG、POSTGRESQL、SPARK。