字符串函数
TiDB 支持使用大部分 MySQL 5.7 中提供的字符串函数和一部分 Oracle 21 所提供的函数。
关于 Oracle 函数和 TiDB 函数的对照关系,请参考 Oracle 与 TiDB 函数和语法差异对照。
支持的函数
函数名 | 功能描述 |
---|---|
ASCII() |
返回最左字符的数值 |
BIN() |
返回一个数的二进制值的字符串表示 |
BIT_LENGTH() |
返回字符串的位长度 |
CHAR() |
返回由整数的代码值所给出的字符组成的字符串 |
CHAR_LENGTH() |
返回字符串的字符长度 |
CHARACTER_LENGTH() |
与 CHAR_LENGTH() 功能相同 |
CONCAT() |
返回连接的字符串 |
CONCAT_WS() |
返回由分隔符连接的字符串 |
ELT() |
返回指定位置的字符串 |
EXPORT_SET() |
返回一个字符串,其中值位中设置的每个位,可以得到一个 on 字符串,而每个未设置的位,可以得到一个 off 字符串 |
FIELD() |
返回参数在后续参数中出现的第一个位置 |
FIND_IN_SET() |
返回第一个参数在第二个参数中出现的位置 |
FORMAT() |
返回指定小数位数格式的数字 |
FROM_BASE64() |
解码 base-64 表示的字符串,并返回结果 |
HEX() |
返回一个十进制数或字符串值的 16 进制表示 |
INSERT() |
在指定位置插入一个子字符串,最多不超过指定字符数 |
INSTR() |
返回第一次出现的子字符串的索引 |
LCASE() |
与 LOWER() 功能相同 |
LEFT() |
返回最左侧指定长度的字符 |
LENGTH() |
返回字符串长度,单位为字节 |
LIKE |
进行简单模式匹配 |
LOCATE() |
返回第一次出现的子字符串的位置 |
LOWER() |
返回全小写的参数 |
LPAD() |
返回字符串参数,左侧添加指定字符串 |
LTRIM() |
去掉前缀空格 |
MAKE_SET() |
返回一组用逗号分隔的字符串,这些字符串的位数与给定的 bits 参数对应 |
MID() |
返回一个以指定位置开始的子字符串 |
NOT LIKE |
否定简单模式匹配 |
NOT REGEXP |
REGEXP 的否定形式 |
OCT() |
返回一个数值的八进制表示,形式为字符串 |
OCTET_LENGTH() |
与 LENGTH() 功能相同 |
ORD() |
返回该参数最左侧字符的字符编码 |
POSITION() |
与 LOCATE() 功能相同 |
QUOTE() |
使参数逃逸,为了在 SQL 语句中使用 |
REGEXP |
使用正则表达式匹配模式 |
REPEAT() |
以指定次数重复一个字符串 |
REPLACE() |
替换所有出现的指定字符串 |
REVERSE() |
反转字符串里的所有字符 |
RIGHT() |
返回指定数量的最右侧的字符 |
RLIKE |
与 REGEXP 功能相同 |
RPAD() |
以指定次数添加字符串 |
RTRIM() |
去掉后缀空格 |
SPACE() |
返回指定数量的空格,形式为字符串 |
STRCMP() |
比较两个字符串 |
SUBSTR() |
返回指定的子字符串 |
SUBSTRING() |
返回指定的子字符串 |
SUBSTRING_INDEX() |
从一个字符串中返回指定出现次数的定界符之前的子字符串 |
TO_BASE64() |
返回转化为 base-64 表示的字符串参数 |
TRANSLATE() |
将字符串中出现的所有指定字符替换为其它字符。这个函数不会像 Oracle 一样将空字符串视为NULL |
TRIM() |
去掉前缀和后缀空格 |
UCASE() |
与 UPPER() 功能相同 |
UNHEX() |
返回一个数的十六进制表示,形式为字符串 |
UPPER() |
参数转换为大写形式 |
不支持的函数
LOAD_FILE()
MATCH
SOUNDEX()
SOUNDS LIKE
WEIGHT_STRING()