云日志服务提供字符串函数,用于对字符类型的数据进行拼接、转换、提取等操作
函数列表
云日志服务支持如下表格所示字符串函数
函数名称 |
语法 | 说明 |
---|---|---|
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, y, ...)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
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(' |
返回结果 |
~ ~ |
unhex函数
把十六进制格式的字符串转化为原来的格式。
语法
unhex(x)
参数说明
参数名称 | 说明 | 类型 | 是否必选 |
---|---|---|---|
x |
十六进制编码后的字符串 | string类型 | 是 |
返回值类型
二进制类型
示例
类型 |
示例 |
---|---|
统计分析语句 |
SELECT unhex('68656C6C6F20637479756E') |
返回结果 |
hello ctyun |