更新时间:2022-07-04 GMT+08:00

字符串函数

DLI所支持的字符串函数如表1所示。

表1 字符串函数

函数

返回值

描述

ascii(string str)

INT

返回字符串中首字符的数字值。

concat(string A, string B...)

STRING

连接多个字符串,合并为一个字符串,可以接受任意数量的输入字符串。

concat_ws(string SEP, string A, string B...)

STRING

连接多个字符串,字符串之间以指定的分隔符分隔。

encode(string src, string charset)

BINARY

用charset的编码方式对src进行编码。

find_in_set(string str, string strList)

INT

返回字符串str第一次在strlist出现的位置。如果任一参数为NULL,返回NULL。如果第一个参数包含逗号,返回0。

get_json_object(string json_string, string path)

STRING

根据所给路径对json对象进行解析,当json对象非法时将返回NULL。

instr(string str, string substr)

INT

返回substr在str中最早出现的下标。当参数中出现NULL时,返回NULL,但str中不存在substr时返回0,注意下标从1开始。

length(string A)

INT

返回字符串的长度。

locate(string substr, string str[, int pos])

INT

返回在下标pos(从1开始)之后,substr在str中出现的最小下标。

lower(string A) lcase(string A)

STRING

将文本字符串转换成字母全部小写的形式。

lpad(string str, int len, string pad)

STRING

返回指定长度的字符串,给定字符串str长度小于指定长度len时,由指定字符pad从左侧填补。

ltrim(string A)

STRING

删除字符串左边的空格,其他的空格保留。

parse_url(string urlString, string partToExtract [, string keyToExtract])

STRING

返回给定URL的指定部分,partToExtract的有效值包括HOST,PATH, QUERY, REF, PROTOCOL, AUTHORITY,FILE和USERINFO。

例如:parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') 返回 'facebook.com'.。

当第二个参数为QUERY时,可以使用第三个参数提取特定参数的值,例如: parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY', 'k1') 返回'v1'。

printf(String format, Obj... args)

STRING

将输入按特定格式打印输出。

regexp_extract(string subject, string pattern, int index)

STRING

通过下标返回正则表达式指定的部分。regexp_extract('foothebar', 'foo(.*?)(bar)', 2) 返回:'bar.'

regexp_replace(string A, string B, string C)

STRING

字符串A中的B字符被C字符替代。

repeat(string str, int n)

STRING

重复N次字符串。

reverse(string A)

STRING

返回倒序字符串。

rpad(string str, int len, string pad)

STRING

返回指定长度的字符串,给定字符串str长度小于指定长度len时,由指定字符pad从右侧填补。

rtrim(string A)

STRING

删除字符串右边的空格,其他的空格保留。

space(int n)

STRING

返回指定数量的空格。

substr(string A, int start) substring(string A, int start)

STRING

从文本字符串A中截取指定的起始位置后的字符。

substr(string A, int start, int len) substring(string A, int start, int len)

STRING

从文本字符串A中截取指定的起始位置后指定长度的字符。

substring_index(string A, string delim, int count)

STRING

返回字符串A在delim出现count次之前的子字符串。

translate(string|char|varchar input, string|char|varchar from, string|char|varchar to)

STRING

将input字符串中的所出现的字符或者字符串from用字符或者字符串to替换。例如:将abcde中的bcd替换成BCD,translate("abcde", "bcd", "BCD")

trim(string A)

STRING

删除字符串两端的空格,字符之间的空格保留。

upper(string A) ucase(string A)

STRING

将文本字符串转换成字母全部大写的形式。

initcap(string A)

STRING

将文本字符串转换成首字母大写其余字母小写的形式。

levenshtein(string A, string B)

INT

返回两个字符串之间的Levenshtein距离,如levenshtein('kitten','sitting') =3。

soundex(string A)

STRING

从str返回一个soundex字符串,如soundex('Miller')= M460。