tencent cloud

文档反馈

字符串操作函数

最后更新时间:2023-11-08 14:17:49

    函数

    函数名
    功能描述
    string1 || string2
    连接两个字符串,返回两个字符串拼接后的结果,等同于 CONCAT(string1, string2)。
    CHAR_LENGTH(string)
    返回字符串的长度。
    CHARACTER_LENGTH(string)
    与 CHAR_LENGTH(string) 相同。
    UPPER(string)
    返回 string 的全大写字母形式。
    LOWER(string)
    返回 string 的全小写字母形式。
    POSITION(string1 IN string2)
    获取 string1 在 string2 中第一次出现的位置(位置从1开始计数)。当 string1 在 string2 中找不到时,返回0。
    TRIM({BOTH |LEADING |TRAILING }string1 FROM string2 )
    从 string2 中除去字符串首尾/首位/末尾的 string1。默认情况下,首尾的空格都被删除。
    LTRIM(string)
    去掉 string 字符串最左边的所有空格。例如 LTRIM(' Hello') 会返回 'Hello'。
    RTRIM(string)
    去掉 string 字符串最右边的所有空格。例如 RTRIM(' World ') 会返回 ' World'。
    REPEAT(string, integer)
    将 string 字符串重复 integer 次。例如 REPEAT('Meow', 3) 会返回 'MeowMeowMeow'。
    REGEXP_REPLACE(string1, string2, string3)
    对 string1 字符串以 string2 表示的正则表达式进行替换,替换内容是 string3。例如 REGEXP_REPLACE('banana', 'a|n', 'A') 返回 'bAAAAA'。
    REPLACE(string1, string2, string3)
    将 string1 字符串中所有的 string2 替换为 string3。例如 REPLACE('banana', 'a', 'A') 返回 'bAnAnA'。
    OVERLAY(string1 PLACING string2 FROM start_pos [ FOR length ])
    将 string1 从第 start_pos 位(start_pos 从1开始计数)开始的子串替换为 string2。可以指定替换的长度。
    SUBSTRING(string from pos [ FOR length])
    获取从 pos 位开始的子串,默认行为是直到源字符串的最后,可以使用 FOR 来指定子串的长度。其中字符串起始 pos 从1开始计数,而不是0。
    REGEXP_EXTRACT(string1, string2[, integer])
    从 string1 中提取正则分组,正则表达式为 string2,第一个括号为第一组,以此类推。可通过第三个参数 integer 来指定所需的分组号(从1开始)。如果不指定分组号或者分组号为0,则表示返回整个正则表达式匹配到的字符串。例如,REGEXP_EXTRACT('foothebar', 'foo(.*?)(bar)', 2) 返回 'bar'。
    INITCAP(string)
    将 string 中的单词,转为以大写字母开头,其他是小写字母(首字母大写)的形式。例如 INITCAP('i have a dream') 返回 'I Have A Dream'。
    CONCAT(string1, string2 …)
    连接多个字符串。若任意字符串为 NULL,则结果为 NULL。
    CONCAT_WS(separator, string1, string2, …)
    使用指定的分隔符 separator 连接多个字符串。如果 separator 为 NULL,则结果为 NULL。如果某个字符串为 NULL,则跳过它;但是不会跳过空字符串。例如 CONCAT_WS('~', 'AA','BB', '', 'CC') 会返回 AA~BB~~CC
    LPAD(text, length, padding)
    使用 padding 指定的字符串从左侧填充 text 字符串到指定长度 length。如果 text 比 length 更长,则会截断到 length 的长度。
    RPAD(text, length, padding)
    使用 padding 指定的字符串从右侧填充 text 字符串到指定长度 length。如果 text 比 length 更长,则会截断到 length 的长度。
    FROM_BASE64(string)
    将 Base64 编码的 string 字符串解码为字符串。如果 string 为 NULL,则返回 NULL。
    TO_BASE64(string)
    将 string 表示的字符串编码为 Base64 字符串。
    ASCII(string)
    返回 string 字符串中第一个字符的 ASCII 码。如果 string 为 NULL,则返回 NULL。例如 ASCII('an apple') 返回97,因为首字母 'a' 的 ASCII 编码是97。
    CHR(integer)
    返回编码为 integer 的 ASCII 字符。例如 CHR(97) 返回 'a'。
    ENCODE(string, charset)
    将 string 字符串转码为 charset 指定的字符集编码的 BINARY 类型,例如 ENCODE(hello, 'GBK')。
    DECODE(binary, charset)
    将 binary 表示的 BINARY 类型以 charset 指定的字符集解码,例如 DECODE(binary_field, 'UTF-16LE')。
    INSTR(string1, string2)
    返回 string2 在 string1 字符串中首次出现的位置。如果任意参数为 NULL,结果为 NULL。
    LEFT(string, n)
    返回 string 从左起前 n 个字符。如果 n 为负数,则返回空字符串。如果任意参数为 NULL,结果为 NULL。
    RIGHT(string, n)
    返回 string 从右起后 n 个字符。如果 n 为负数,则返回空字符串。如果任意参数为 NULL,结果为 NULL。
    LOCATE(string1, string2[, integer])
    返回跳过 integer 个字符后,string1 在 string2 中首次出现的位置(参数顺序与 INSTR 函数相反)。如果未找到,则返回0。如果任意参数为 NULL,结果为 NULL。
    REGEXP(string, regex)
    如果 regex 表示的正则表达式可以匹配 string 中的字符串的任意子串,那么返回 TRUE,否则返回 FALSE。如果任意参数为 NULL,结果为 NULL。
    REVERSE(string)
    反转 string 字符串。如果任意参数为 NULL,结果为 NULL。
    SPLIT_INDEX(string, separator, index)
    将 string 表示的字符串以 separator 指定的分隔符拆分,并获取第 index 项,返回值为字符串 VARCHAR 类型。其中 index 从0开始计数
    SPLIT(string, separator)
    将 string 表示的字符串以 separator 指定的分隔符拆分,并返回一个 Row 类型的对象。
    STR_TO_MAP(string1[, string2, string3])
    将 string1 字符串用 string2 提供的数据分隔符(默认为半角逗号 ,)和 string3 提供的键值间分隔符(默认为半角等号 =)进行拆分,结果为键值对 MAP<string, string> 类型。例如 STR_TO_MAP('k1=v1,k2=v2,k3=v3') 返回键值对(非字符串){'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}。
    SUBSTR(string[, pos[, length]])
    返回 string 字符串从 pos 位置开始,长度为 length 的子串。如果不提供 length,则默认到该字符串尾部。
    EXPLODE(inputStr, separator)
    将某个字符串分割为一张有多行的临时表。这个函数属于 Table Function,需要使用 LATERAL TABLE ( ) 关键字来引用此动态生成的临时表并作为 JOIN 条件的右表。
    GET_ROW_ARITY(row)
    获取某个 Row 类型对象 row 的列数。
    GET_ROW_FIELD_STR(row, index)
    获取某个 Row 类型对象 row 的第 index 列的值,index 从0开始计数。返回值为字符串 VARCHAR 类型。
    GET_JSON_OBJECT(json_str, path_str)
    按 path_str 指定的 JSONPath 路径,获取某个 JSON 字符串 json_str 中的元素,可以任意嵌套。支持的 JSONPath 语法:$表示根对象,.表示子元素,[]表示数组索引,*为数组索引 [] 的通配符。
    IS_ALPHA(content)
    判断字符串是否只包含字母。
    IS_DIGITS(content)
    判断字符串是否只包含数字。
    MD5(string)
    返回字符串的 MD5 值。
    POSITION(string1 IN string2)
    返回目标字符串 x 在被查询字符串y里第一次出现的位置。如果目标字符串 x 在被查询字符串 y 中不存在,返回值为0。
    SHA1
    返回字符串 expr 的 SHA1 值。
    SHA256
    返回字符串 expr 的 SHA256 值。

    示例

    ||

    功能描述:连接两个字符串,返回两个字符串拼接后的结果,等同于 CONCAT(string1, string2) 语法:string1 || string2 示例测试语句:SELECT string1 || string2 FROM Test ; 测试数据和结果:
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试结果(VARCHAR)
    Oce
    anus
    Oceanus

    CHAR_LENGTH

    功能描述:返回字符串的长度。 语法:CHAR_LENGTH( string) 示例测试语句:SELECT CHAR_LENGTH(var1) AS length FROM Test; 测试数据和结果:
    测试数据(VARCHAR var1)
    测试结果(INT length)
    Oceanus
    7

    CHARACTER_LENGTH

    功能描述:与 CHAR_LENGTH(string) 相同。 语法:CHARACTER_LENGTH(string) 示例测试语句:SELECT CHAR_LENGTH(var1) AS length FROM Test; 测试数据和结果:
    测试数据(VARCHAR var1)
    测试结果(INT length)
    Oceanus
    7

    LOWER

    功能描述:返回小写字符的字符串。 语法:LOWER(string) 示例测试语句:SELECT LOWER(var1) AS lower FROM Test; 测试数据和结果:
    测试数据(VARCHAR var1)
    测试结果(VARCHAR lower)
    OCeanus
    oceanus

    UPPER

    功能描述:返回大写字符的字符串。 语法:UPPER( string) 示例测试语句:SELECT UPPER(var1) AS upper FROM Test; 测试数据和结果:
    测试数据(VARCHAR var1)
    测试结果(VARCHAR upper)
    OCeanus
    OCEANUS

    TRIM

    功能描述:从 string2 中除去字符串首尾/首位/末尾的 string1。默认情况下,首尾的空格都被删除。 语法:TRIM({BOTH | LEADING | TRAILING } string1 FROM string2 ) 示例测试语句:SELECT TRIM(BOTH string1 FROM string2) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试结果(VARCHAR res)
    a
    aoceanusa
    oceanus

    CONCAT

    功能描述:拼接两个或多个字符串值从而组成一个新的字符串。如果任一参数为 NULL 时,则跳过该参数。 语法:CONCAT( string1, string2 …) 示例测试语句:SELECT CONCAT('123', '456', 'abc', 'def') AS res FROM Test; 测试数据和结果:'123456abcdef'
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试数据(VARCHAR string3)
    测试数据(VARCHAR string4)
    测试结果(VARCHAR res)
    123
    456
    abc
    def
    123456abcdef

    CONCAT_WS

    功能描述:使用指定的分隔符 separator 连接多个字符串。如果 separator 为 NULL,则结果为 NULL。如果某个字符串为 NULL,则跳过它。但是不会跳过空字符串。 语法:CONCAT_WS(separator,string1,string2, …) 示例测试语句:SELECT CONCAT_WS(separator, string1,string2, string3) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR separator)
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试数据(VARCHAR string3)
    测试结果(VARCHAR res)
    -
    AA
    BB
    CC
    AA-BB-CC

    INITCAP

    功能描述:将 string 中的单词,转为以大写字母开头,其他是小写字母(首字母大写)的形式。 语法:INITCAP(string) 示例测试语句:SELECT INITCAP(var1) AS str FROM Test; 数据和结果:
    测试数据(VARCHAR var1)
    测试结果(VARCHAR str)
    i have a dream
    I Have A Dream

    IS_ALPHA

    功能描述:判断字符串是否只包含字母。 语法:IS_ALPHA(content) 示例测试语句:SELECT IS_ALPHA(content) AS result FROM Test; 测试数据和结果:
    测试数据(VARCHAR content)
    测试结果(BOOLEAN result)
    Oceanus
    true
    oceanus123
    false
    ''
    false
    null
    false

    IS_DIGITS

    功能描述:判断字符串是否只包含数字。 语法:IS_DIGITS(content) 示例测试语句:SELECT IS_DIGITS(content) AS result FROM Test; 测试数据和结果:
    测试数据(VARCHAR content)
    测试结果(BOOLEAN case_result)
    58.0
    true
    58
    true
    58pl
    false
    ''
    false
    null
    false

    LPAD

    功能描述:使用 padding 指定的字符串从左侧填充 text 字符串到指定长度 length。如果 text 比 length 更长,则会截断到 length 的长度。 语法:LPAD(text , length , padding) 示例测试语句:SELECT LPAD(test, length, padding) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR text)
    测试数据(INT length)
    测试数据(VARCHAR padding)
    测试结果(VARCHAR res)
    oceanus
    3
    hello
    hel
    oceanus
    -1
    hello
    ''
    oceanus
    12
    hello
    hellooceanus

    RPAD

    功能描述:使用 padding 指定的字符串从右侧填充 text 字符串到指定长度 length。如果 text 比 length 更长,则会截断到 length 的长度。 语法:RPAD(text , length , padding) 示例测试语句:SELECT RPAD(text, length, padding) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR text)
    测试数据(INT length)
    测试数据(VARCHAR padding)
    测试结果(VARCHAR res)
    oceanus
    3
    hello
    oce
    oceanus
    -1
    hello
    ''
    oceanus
    12
    hello
    oceanushello

    MD5

    功能描述:返回字符串的 MD5 值。 语法:MD5(string) 示例测试语句:SELECT MD5(content) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR content)
    测试结果(VARCHAR res)
    abc
    900150983cd24fb0d6963f7d28e17f72

    OVERLAY

    功能描述:将 string1 从第 start_pos 位(start_pos 从1开始计数)开始的子串替换为 string2。可以指定替换的长度。 语法:SELECT OVERLAY(string1 PLACING string2 FROM start_pos [ FOR length ]) 示例测试语句:SELECT OVERLAY(string1 PLACING string2 FROM start_pos FOR length) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试数据(INT start_pos)
    测试数据(INT length)
    测试结果(VARCHAR res)
    oceanus
    abc
    2
    2
    oabcanus

    POSITION

    功能描述:返回目标字符串 x 在被查询字符串 y 里第一次出现的位置。如果目标字符串 x 在被查询字符串 y 中不存在,返回值为0。 语法:POSITION(string1 IN string2) 示例测试语句: SELECT POSITION(string1 IN string2) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试结果(VARCHAR res)
    nu
    oceanus
    5

    GET_JSON_OBJECT(json_str, path_str)

    功能描述:按 path_str 指定的 JSONPath 路径,获取某个 JSON 字符串 json_str 中的元素,可以任意嵌套。支持的 JSONPath 语法:$表示根对象,.表示子元素,[]表示数组索引,*为数组索引 [] 的通配符。 语法:GET_JSON_OBJECT(json_str, path_str) 示例测试语句:SELECT GET_JSON_OBJECT(json_str, path_str) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR json_str)
    {"school": {"student":[{"num":8,"type":"A"},{"num":9,"type":"B"}],"teacher":{"num":200,"type":"A"} },"headmaster":"mark" }
    测试数据(VARCHAR path_str)
    测试结果(VARCHAR res)
    $.school
    {\\"student\\":[{\\"num\\":8,\\"type\\":\\"A\\"},{\\"num\\":9,\\"type\\":\\"B\\"}],
    \\"teacher\\":{\\"num\\":200,\\"type\\":\\"A\\"}}
    $.school.student[1]
    {\\"num\\":9,\\"type\\":\\"B\\"}
    $.school.teacher
    {\\"num\\":200,\\"type\\":\\"A\\"}
    $.headmaster
    mark

    REPLACE

    功能描述:将 string1 字符串中所有的 string2 替换为 string3。 语法:REPLACE(string1, string2, string3) 示例测试语句:SELECT REPLACE( string1, string2, string3) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR string1)
    测试数据(VARCHAR string2)
    测试数据(VARCHAR string3)
    测试结果(VARCHAR res)
    banana
    a
    A
    bAnAnA

    SHA1

    功能描述:返回字符串 expr 的 SHA1 值。 语法:SHA1(expr) 示例测试语句:SELECT SHA1(expr) AS res FROM Test; 测试数据和结果:
    测试数据(VARCHAR expr)
    测试结果(VARCHAR res)
    abc
    a9993e364706816aba3e25717850c26c9cd0d89d

    SHA256

    功能描述:返回字符串 expr 的 SHA256 值。 语法:SHA256(expr) 示例测试语句:SELECT SHA256(expr) FROM Test; 测试数据和结果:
    测试数据(VARCHAR expr)
    测试结果(VARCHAR res)
    abc
    ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持