目前只读分析引擎支持大部分 MySQL 的字符串函数,但在部分场景下仍然存在限制和不兼容。本文介绍在只读分析引擎中字符串函数的支持列表,并针对输入参数中的类型限制进行了列举。如存在文档中未提到的入参与函数则均不支持。
字符串函数支持类型
substr 函数
字符串截取函数,有着以下几种使用方法。
语法:
substr(str, start)
str 支持值类型:支持 char,varchar 数据类型。
start 支持值类型:bigint,double,decimal。
语法:
substr(str from start)
str 支持值类型:支持 char,varchar 数据类型。
start 支持值类型:bigint,double,decimal。
语法:
substr(string, start, length)
str 支持值类型:支持 char,varchar 数据类型。
start 支持值类型:bigint,double,decimal。
length 支持值类型:bigint,double,decimal。
语法:
substr(string from start for length)
str 支持值类型:支持 char,varchar 数据类型。
start 支持值类型:bigint,double,decimal。
length 支持值类型:bigint,double,decimal。
char_length 函数
字符串长度判断函数,返回字符串的字符数。
语法:
char_length(str)
str 支持值类型:支持 char,varchar 数据类型。
replace 函数
字符串替换函数。
语法:
replace(str, from_str, to_str)
str 支持值类型:支持 char,varchar 数据类型。
from_str 支持值类型:支持 char,varchar 数据类型。
to_str 支持值类型:支持 char,varchar 数据类型。
concat 函数
字符串连接函数。
语法:
concat(str1, str2, ...)
str1支持值类型:支持 char,varchar 数据类型。
str2支持值类型:支持 char,varchar 数据类型。
concat_ws 函数
带分隔符的字符串连接函数。
语法:
concat_ws(str1, str2, ...)
str1支持值类型:支持 char,varchar 数据类型。
str2支持值类型:支持 char,varchar 数据类型。
left 函数
从字符串的第一个字符开始返回指定个数的字符。
语法:
left(str, len)
str1支持值类型:支持 char,varchar 数据类型。
len 支持值类型:支持 int,bigint,double,decimal 数据类型。
right 函数
从字符串的最后一个字符开始返回指定个数的字符。
语法:
right(str, len)
str1支持值类型:支持 char,varchar 数据类型。
len 支持值类型:支持 int,bigint,double,decimal 数据类型。
ascii 函数
把字符转换成 ascii 码值的函数。
语法:
ascii(str)
str1支持值类型:支持 char,varchar 数据类型。
length 函数
字符串长度判断函数,返回字符串的字节数。
语法:
length(str)
str1支持值类型:支持 char,varchar 数据类型。
trim 函数
清除字符串前后的不必要字符的函数。
语法:
trim([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
remstr 支持值类型:支持 char,varchar 数据类型。
str 支持值类型:支持 char,varchar 数据类型。
ltrim 函数
清除字符串前的不必要字符。
语法:
ltrim(str)
str 支持值类型:支持 char,varchar 数据类型。
rtrim 函数
清除字符串后的不必要字符。
语法:
rtrim(str)
str 支持值类型:支持 char,varchar 数据类型。
position 函数
返回与子字符串的位置对应的函数。
语法:
position(substr IN str)
str 支持值类型:支持 char,varchar 数据类型。
substr 支持值类型:支持 char,varchar 数据类型。
instr 函数
查找一个字符串在另一个字符串中首次出现的位置。
语法:
instr(str, substr)
str 支持值类型:支持 char,varchar 数据类型。
substr 支持值类型:支持 char,varchar 数据类型。
locate 函数
返回字符串中第一次出现的子字符串的位置。
语法:
locate(str, substr)
str 支持值类型:支持 char,varchar 数据类型。
substr 支持值类型:支持 char,varchar 数据类型。
lower 函数
返回字符串的小写字符串。
语法:
lower(str)
str 支持值类型:支持 char,varchar 数据类型。
ucase 函数
将给定字符串中的所有小写字母转换为大写字母。
语法:
ucase(str)
str 支持值类型:支持 char,varchar 数据类型。
upper 函数
将给定字符串中的所有小写字母转换为大写字母。
语法:
upper(str)
str 支持值类型:支持 char,varchar 数据类型。
substring_index 函数
支持反向的字符串截取函数。
语法:
substring_index(str, delim, count)
str 支持值类型:支持 char,varchar 数据类型。
delim 支持值类型:支持 char,varchar 数据类型,只能是常量,不接受类似于字段值的变量值。
count 支持值类型:支持 int,bigint,double,decimal 数据类型,支持负数,只能是常量,不接受类似于字段值的变量值。
lpad 函数
对字符串开头进行填充以达到指定的长度。
语法:
lpad(str, len, padstr)
str 支持值类型:支持 char,varchar 数据类型。
len 支持值类型:支持 int,bigint,double,decimal 数据类型,只能是常量,不接受类似于字段值的变量值。
padstr 支持值类型:支持 char,varchar 数据类型。
rpad 函数
对字符串末尾进行填充以达到指定的长度。
语法:
rpad(str, len, padstr)
str 支持值类型:支持 char,varchar 数据类型。
len 支持值类型:支持 int,bigint,double,decimal 数据类型,只能是常量。
padstr 支持值类型:支持 char,varchar 数据类型。
strcmp 函数
比较两个字符串并根据比较结果返回整数。
语法:
strcmp(expr1, expr2)
expr1支持值类型:支持 char,varchar 数据类型。
expr2支持值类型:支持 char,varchar 数据类型。
quote 函数
在查询中引用包含特殊字符的字符串的函数。
语法:
quote(str)
str 支持值类型:支持 char,varchar 数据类型。