字符串函数

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()