
云日志服务提供字符串函数,用于对字符类型的数据进行拼接、转换、提取等操作
函数列表
云日志服务支持如下表格所示字符串函数
| 函数名称 | 语法 | 说明 |
|---|---|---|
| chr函数 | chr(x) | 将ASCII码转换为字符。同char函数。 |
| char函数 | char(x) | 将ASCII码转换为字符。同chr函数。 |
| char_length函数 | char_length(x) | 计算字符串(字符)长度。计量单位为字符,不管汉字、数字、字母都算是一个字符 |
| concat函数 | concat(x, y, ...) | 将多个字符串拼接成一个字符串。 |
| ascii函数 | ascii(x) | 将字符转换为ASCII 码值。 |
| length函数 | length(x) | 计算字符串(字节)长度。计量单位为字节,比如UTF8编码时,一个汉字为3个字节,数字或英文字母为1个字节 |
| lcase函数 | lcase(x) | 将字符串转换为小写。同lower函数。 |
| lower函数 | lower(x) | 将字符串转换为小写。同lcase函数。 |
| lpad函数 | lpad(x, length, pad_string) | 在字符串的开头填充指定字符,直到指定长度后返回结果字符串。 |
| ltrim函数 | ltrim(x) | 删除字符串开头的空格。 |
| replace函数 | replace(x, sub_string, replace_string) | 将字符串中所匹配的字符替换为其他指定字符。 |
| reverse函数 | reverse(x) | 返回逆向顺序的字符串。 |
| rpad函数 | rpad(x, length, pad_string) | 在字符串的尾部填充指定字符,直到指定长度后返回结果字符串。 |
| rtrim函数 | rtrim(x) | 删除字符串中结尾的空格。 |
| split函数 | split(x, delimiter) | 使用指定的分隔符拆分字符串,并返回子串集合。 |
| substr函数 | substr(x, offset, length) | 提取字符串中指定位置的子串,并指定子串长度。同substring、mid函数 |
| substring函数 | substring(x, offset, length) | 提取字符串中指定位置的子串,并指定子串长度。同substr、mid函数 |
| trim函数 | trim(x) | 删除字符串中开头和结尾的空格。 |
| ucase函数 | ucase(x) | 将字符串转换为大写。同upper函数。 |
| upper函数 | upper(x) | 将字符串转换为大写。同ucase函数。 |
| to_base64函数 | to_base64(x) | 将二进制类型的数据编码为BASE64编码的字符串。 |
| from_base64函数 | from_base64(x) | 将BASE64编码的字符串解码为二进制类型的数据。 |
| instr函数 | instr(x, sub_string, pos) | 获取子串第一次出现的位置。同position函数。 |
| locate函数 | locate(sub_string, x, pos) | 获取子串第一次出现的位置。 |
| mid函数 | mid(x, offset, length) | 提取字符串中指定位置的子串,并指定子串长度。同substr、substring函数 |
| position函数 | position(x, sub_string, pos) | 获取子串第一次出现的位置。同instr函数。 |
| repeat函数 | repeat(x, n) | 返回字符串x重复n次后的字符串。 |
| space函数 | space(length) | 返回指定长度的空格字符串 |
| unhex函数 | unhex(x) | 把十六进制格式的字符串转化为原来的格式。 |
chr函数
将ASCII码转换为字符。同char函数。
语法
chr(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | ASCII码数字(0-255) | integer类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT chr(65) |
| 返回结果 | A |
char_length函数
计算字符串(字符)长度;计量单位为字符,不管汉字、数字、字母都算是一个字符。
语法
char_length(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT char_length('这有6个字符') |
| 返回结果 | 6 |
concat函数
将多个字符串拼接成一个字符串。
语法
concat(x,...)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 待拼接字符串x | string类型 | 是 |
| y | 待拼接字符串y | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT concat('test', '-', 'link') |
| 返回结果 | test-link |
ascii函数
将字符转换为ASCII 码值。
语法
ascii(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | char类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT ascii('a') |
| 返回结果 | 97 |
length函数
计算字符串(字节)长度;计量单位为字节,比如UTF8编码时,一个汉字为3个字节,数字或英文字母为1个字节。
语法
length(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT length('这有17个字节') |
| 返回结果 | 17 |
lcase函数
将字符串转换为小写。同lower函数。
语法
lcase(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT lcase('Error') |
| 返回结果 | error |
lpad函数
在字符串的开头填充指定字符,直到指定长度后返回结果字符串。
语法
lpad(x,length,pad_string)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| length | 结果字符串长度 | integer类型 | 是 |
| pad_string | 填充字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT lpad('hello world', 20, '012') |
| 返回结果 | 012012012hello world |
ltrim函数
删除字符串开头的空格。
语法
ltrim(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT ltrim(' world') |
| 返回结果 | world |
replace函数
将字符串中所匹配的字符替换为其他指定字符。
语法
replace(x,sub_string,replace_string)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| sub_string | 子串 | string类型 | 是 |
| replace_string | 替换字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT replace('hello world', 'world', 'ctyun') |
| 返回结果 | hello ctyun |
reverse函数
返回逆向顺序的字符串。
语法
reverse(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT reverse('hello world') |
| 返回结果 | dlrow olleh |
rpad函数
在字符串的尾部填充指定字符,直到指定长度后返回结果字符串。
语法
rpad(x,length,pad_string)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| length | 结果字符串长度 | integer类型 | 是 |
| pad_string | 填充字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT rpad('hello world', 20, '~') |
| 返回结果 | hello world~~~~~~~~~ |
rtrim函数
删除字符串中结尾的空格。
语法
rtrim(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT rtrim('hello world ') |
| 返回结果 | hello world |
split函数
使用指定的分隔符拆分字符串,并返回子串集合。
语法
split(x,delimiter)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| delimiter | 分割符 | string类型 | 是 |
返回值类型
数组类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT split('hello world', ' ') |
| 返回结果 | ["hello","world"] |
substr函数
提取字符串中指定位置的子串,并指定子串长度。同substring、mid函数。
语法
substr(x,offset,length)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| offset | 开始提取的偏移量 | integer类型 | 是 |
| length | 长度 | integer类型 | 否 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT substr('hello world', 3, 5) |
| 返回结果 | llo w |
trim函数
删除字符串中开头和结尾的空格。
语法
trim(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT trim(' hello world ') |
| 返回结果 | hello world |
ucase函数
将字符串转换为大写。同upper函数。
语法
ucase(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT ucase('Error') |
| 返回结果 | ERROR |
to_base64函数
将二进制类型的数据编码为BASE64编码的字符串。
语法
to_base64(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始数据 | 二进制类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT to_base64('hello world') |
| 返回结果 | aGVsbG8gd29ybGQ= |
from_base64函数
将BASE64编码的字符串解码为二进制类型的数据。
语法
from_base64(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | BASE64编码后字符串 | string类型 | 是 |
返回值类型
二进制类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT from_base64('Y3R5dW4gd2VsY29tZXMgeW91') |
| 返回结果 | ctyun welcomes you |
instr函数
获取子串第一次出现的位置。
语法
instr(x,sub_string,pos)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| sub_string | 子字符串 | string类型 | 是 |
| pos | 从原始字符串开始查找的位置 | integer类型 | 否 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT instr('hello world', 'l', 5) |
| 返回结果 | 10 |
locate函数
获取子串第一次出现的位置。
语法
locate(sub_string,x,pos)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| sub_string | 子字符串 | string类型 | 是 |
| x | 原始字符串 | string类型 | 是 |
| pos | 从源串开始查找的位置 | integer类型 | 否 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT locate('o', 'hello world', 6) |
| 返回结果 | 8 |
repeat函数
返回字符串x重复n次后的字符串。
语法
repeat(x,n)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| n | 重复次数 | integer类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT repeat('ha ', 3) |
| 返回结果 | ha ha ha |
space函数
返回字符串x重复n次后的字符串。
语法
space(x,n)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字符串 | string类型 | 是 |
| n | 重复次数 | integer类型 | 是 |
返回值类型
string类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT concat('~', space(3), '~') |
| 返回结果 | ~ ~ |
unhex函数
把十六进制格式的字符串转化为原来的格式。
语法
unhex(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 十六进制编码后的字符串 | string类型 | 是 |
返回值类型
二进制类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT unhex('68656C6C6F20637479756E') |
| 返回结果 | hello ctyun |