字符串函数
DLI所支持的字符串函数如表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。 |