Skip to content

MySQL - 字符串函数

MySQL 提供了一套丰富的内置函数,用于操作字符串值。此列表作为常见字符串函数和运算符的全面参考。

序号名称与描述
1ASCII(str)
返回字符串 str 中最左侧字符的数字 ASCII 码。
2BIN(N)
返回整数 N 的二进制值的字符串表示形式。
3BIT_LENGTH(str)
返回字符串 str 的比特长度。
4CHAR(N,… [USING charset])
根据作为整数参数给定的 ASCII/Unicode 码点构造一个字符串。
5CHAR_LENGTH(str)
返回字符串 str 的字符长度。对于 UTF-8 等多字节字符集,这是正确使用的函数。
6CHARACTER_LENGTH(str)
CHAR_LENGTH() 的同义词。
7CONCAT(str1, str2,…)
返回连接参数后形成的字符串。如果任何参数为 NULL 则返回 NULL。
8CONCAT_WS(separator, str1, str2,…)
带分隔符拼接。返回一个连接的字符串,其中参数由 separator 分隔。跳过分隔符后的任何 NULL 参数。
9ELT(N, str1, str2, str3,…)
返回字符串列表中的第 N 个元素。例如,ELT(2, 'a', 'b', 'c') 返回 ‘b’。
10EXPORT_SET(bits, on, off[, separator[, number_of_bits]])
返回一个字符串,其中对于 bits 中的每个已设置的位,您会得到 on 字符串;对于每个未设置的位,您会得到 off 字符串。
11FIELD(str, str1, str2,…)
返回 str 在字符串列表 str1, str2, ... 中的基于 1 的索引。如果未找到 str 则返回 0。
12FIND_IN_SET(str, str_list)
返回 str 在 str_list(逗号分隔的字符串)中的基于 1 的索引。如果未找到则返回 0。
13FROM_BASE64(str)
解码 base-64 编码的字符串,并以二进制字符串形式返回结果。
14INSERT(str, pos, len, newstr)
将字符串 str 中从位置 pos 开始、长度为 len 个字符的子字符串替换为 newstr。
15INSTR(str, substr)
返回 substr 在 str 中第一次出现的基于 1 的起始位置。如果未找到则返回 0。在默认排序规则中不区分大小写。
16LCASE(str)
LOWER() 的同义词。
17LEFT(str, len)
从字符串 str 中返回最左边的 len 个字符。
18LENGTH(str)
返回字符串 str 的字节长度。对于多字节字符集,这可能不等于字符数。使用 CHAR_LENGTH() 获取字符计数。
19LOAD_FILE(file_name)
读取文件并将文件内容作为字符串返回。需要 FILE 权限。
20LOCATE(substr, str[, pos])
返回 substr 在 str 中第一次出现的基于 1 的位置,可选地从 pos 位置开始搜索。POSITION() 的同义词。
21LOWER(str)
根据当前字符集映射,返回所有字符都已转换为小写的字符串 str。
22LPAD(str, len, padstr)
用字符串 padstr 左填充字符串 str,直到 str 的长度达到 len 个字符。
23LTRIM(str)
移除字符串 str 的前导空白字符。
24MAKE_SET(bits, str1, str2,…)
返回一个集合值(包含逗号分隔子字符串的字符串),该集合值由在 bits 中相应位已设置的字符串组成。
25MID(str, pos, len)
SUBSTRING(str, pos, len) 的同义词。
26OCT(N)
返回整数 N 的八进制值的字符串表示形式。
27OCTET_LENGTH(str)
LENGTH() 的同义词。
28ORD(str)
如果 str 的最左侧字符是单字节字符,则返回其 ASCII 码。对于多字节字符,它返回 Unicode 码点。
29POSITION(substr IN str)
LOCATE(substr, str) 的同义词。
30QUOTE(str)
生成一个可作为 SQL 语句中正确转义的数据值的结果。将字符串用单引号括起来并转义反斜杠和单引号。
31REPEAT(str, count)
返回由字符串 str 重复 count 次组成的字符串。
32REPLACE(str, from_str, to_str)
将字符串 str 中所有出现的子字符串 from_str 替换为 to_str。
33REVERSE(str)
反转字符串 str 中字符的顺序。
34RIGHT(str, len)
从字符串 str 中返回最右边的 len 个字符。
35RPAD(str, len, padstr)
用字符串 padstr 右填充字符串 str,直到 str 的长度达到 len 个字符。
36RTRIM(str)
移除字符串 str 的尾随空白字符。
37SOUNDEX(str)
将 str 的发音表示形式作为 soundex 字符串返回。用于比较发音相似但拼写不同的字符串。
38SPACE(N)
返回由 N 个空格字符组成的字符串。
39STRCMP(expr1, expr2)
比较两个字符串。如果它们相同则返回 0,如果第一个参数小于第二个则返回 -1,否则返回 1。
40SUBSTR(str, pos[, len])
SUBSTRING() 的同义词。
41SUBSTRING(str, pos[, len])
从字符串 str 中返回一个长度为 len 的子字符串,从位置 pos 开始。如果省略 len,则返回字符串的其余部分。
42SUBSTRING_INDEX(str, delim, count)
从 str 中返回一个子字符串,直到分隔符 delim 出现 count 次。如果 count 为正数,则从左侧返回最终子字符串。如果为负数,则从右侧返回。
43TO_BASE64(str)
将字符串编码为其 base-64 表示形式。
44TRIM([BOTH | LEADING | TRAILING] [remstr] FROM str)
移除字符串的前导和/或尾随字符。默认情况下,它会移除两端的空白。是 LTRIM 和 RTRIM 更强大的版本。
45UCASE(str)
UPPER() 的同义词。
46UNHEX(str)
执行 HEX() 的逆操作。将参数中的每对十六进制数字解释为一个数字,并将其转换为其所代表的字符。
47UPPER(str)
根据当前字符集映射,返回所有字符都已转换为大写的字符串 str。
48WEIGHT_STRING(str)
返回输入字符串的权重字符串。这代表了字符串的比较和排序值。
49MATCH (col1, col2,…) AGAINST (expr)
[运算符] 用于全文搜索。必须在具有 FULLTEXT 索引的列上使用。
50REGEXP
[运算符] REGEXP_LIKE() 函数的同义词。用于检查字符串是否匹配正则表达式模式。
51SOUNDS LIKE
[运算符] 比较两个字符串的 soundex 值。expr1 SOUNDS LIKE expr2 等同于 SOUNDEX(expr1) = SOUNDEX(expr2)。