只读分析实例支持大部分 MySQL 的字符串函数,但在部分场景下仍存在限制和不兼容。本文介绍只读分析实例对字符串函数的支持列表,并列出每个函数对入参数据类型的支持范围。文档中未列出的入参类型与函数均不支持。
字符串函数支持类型
SUBSTR 函数
字符串截取函数,支持以下几种使用方法。
语法:
SUBSTR(str, start)str 支持的数据类型:char、varchar。
start 支持的数据类型:bigint、double、decimal。
语法:
SUBSTR(str FROM start)str 支持的数据类型:char、varchar。
start 支持的数据类型:bigint、double、decimal。
语法:
SUBSTR(str, start, length)str 支持的数据类型:char、varchar。
start 支持的数据类型:bigint、double、decimal。
length 支持的数据类型:bigint、double、decimal。
语法:
SUBSTR(str 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、str2等参数支持的数据类型:char、varchar。
CONCAT_WS 函数
带分隔符的字符串连接函数。第一个参数为分隔符。
语法:
CONCAT_WS(separator, str1, str2, ...)separator 支持的数据类型:char、varchar。
str1、str2等参数支持的数据类型:char、varchar。
LEFT 函数
从字符串的第一个字符开始,返回指定个数的字符。
语法:
LEFT(str, len)str 支持的数据类型:char、varchar。
len 支持的数据类型:int、bigint、double、decimal。
RIGHT 函数
从字符串的最后一个字符开始,返回指定个数的字符。
语法:
RIGHT(str, len)str 支持的数据类型:char、varchar。
len 支持的数据类型:int、bigint、double、decimal。
ASCII 函数
返回字符串首字符对应的 ASCII 码值。
语法:
ASCII(str)str 支持的数据类型:char、varchar。
LENGTH 函数
字符串长度判断函数,返回字符串的字节数。
语法:
LENGTH(str)str 支持的数据类型: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(substr, str)substr 支持的数据类型:char、varchar。
str 支持的数据类型: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。
FIND_IN_SET 函数
返回指定字符串在以逗号分隔的字符串列表中的位置。strlist 仅支持字符串类型,不支持 set 类型。
语法:
FIND_IN_SET(str, strlist)str:要查询的字符串。
strlist:以逗号分隔的字符串列表,例如
'1,2,6,8'。FIELD 函数
返回 str 在后续参数列表中首次出现的位置,常用于对查询结果集按指定顺序排序。
语法:
FIELD(str, str1, str2, ...)str:要查找的字符串。
str1、str2等:依次比较的字符串列表,按从左至右的顺序进行排序。
UUID 函数
生成36位 UUID 字符串。
语法:
UUID()无需入参。