• 沒有找到結果。

1.27 内置函数

1.27.3 字符串函数

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

1-64 字符串函数

函数 返回值 描述

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(str ing 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(stri ng subject, string pattern, int index)

STRING 通过下标返回正则表达式指定的部分。

regexp_extract('foothebar', 'foo(.*?) (bar)', 2) 返回:'bar.'

regexp_replace(str ing 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(st ring 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。