MySQL 字符串函数

MySQL 提供了各种内置的字符串函数来对字符串数据执行不同的操作。在本文中,我们将向您展示字符串函数列表以及每个函数的示例。

MySQL 字符串函数

以下是可用于处理字符串数据的 MySQL 字符串函数列表。

字符串函数描述
ASCII()返回第一个或最左侧字符的 ASCII 数值。
BIN()返回一个包含数字的二进制表示的字符串。
BIT_LENGTH()以比特为单位返回参数的长度。
CHAR()返回或将每个整数转换为字符。
CHAR_LENGTH()此 MySQL 字符串函数返回给定参数中的总字符数。
CHARACTER_LENGTH()CHAR_LENGTH() 函数的同义词。
CONCAT()返回连接后的字符串。
CONCAT_WS()WS 表示带分隔符。它使用给定的分隔符连接字符串。
ELT()返回索引号处的字符串。
EXPORT_SET()对于集合值中的每个设置位,返回“on”字符串,对于每个未设置位,此函数返回“off”字符串。
FILED()此字符串函数在后续参数中返回第一个参数的索引位置。
FIND_IN_SET()在第二个参数中查找并返回第一个参数的索引位置。
FORMAT()根据用户指定的位数格式化数字。
HEX()字符串值或十进制值的十六进制表示。
INSERT()此 MySQL 字符串函数在指定位置插入子字符串,直到达到指定的字符数。
INSTR()返回子字符串第一次出现的索引位置。
LCASE()LOWER() 函数的同义词。
LEFT()返回用户指定的从左边开始的字符。
LENGTH()此函数返回字节长度。
LIKE用于模式匹配。
LOAD_FILE()加载指定文件。
LOCATE()查找并返回单词第一次出现的 {0} 位置。
LOWER()此函数将给定字符串转换为小写。
LPAD()左填充给定文本并返回字符串值。
LTRIM()移除前导空格。
MAKE_SET()返回逗号分隔的字符串集合,其中包含位集合中对应的位。
MATCH()使用此方法执行全文搜索。
MID()返回从用户给定位置开始的子字符串。
NOT_LIKE这是 LIKE 函数(简单模式匹配)的否定。
NOT_REGEXP这是 REGEXP 函数的否定。
OCT()返回一个包含数字的八进制表示的字符串。
OCTET_LENGTH()LENGTH() 函数的同义词。
ORD()此字符串函数返回给定句子中最左侧字符的字符代码。
POSITION()LOCATE() 函数的同义词。
QUOTE()转义参数,以便在查询语句中使用。
REGEXP字符串是否匹配正则表达式。
REPEAT()将文本重复指定的次数。
REPLACE()查找并将一个词替换为指定的句子。
REVERSE()反转给定的字符串(总字符数)。
RIGHT()返回用户指定的从右边开始的字符。
RLIKE使用此方法检查字符串是否匹配正则表达式。
RPAD()用用户指定的次数追加文本。
RTRIM()此 MySQL 字符串函数移除尾随空格。
SOUNDEX()返回 Soundex 字符串。
SOUNDS LIKE比较声音。
SPACE()提供或添加指定数量的空格。
STRCMP()此方法比较两个字符串。
SUBSTR()返回给定字符串的子字符串。
SUBSTRING()顾名思义,它返回给定字符串的子字符串。
SUBSTRING_INDEX()从给定字符串返回子字符串。它使用分隔符和出现次数来返回子字符串。
TRIM()移除字符串的前导和尾随空格。
UCASE()UPPER() 函数的同义词。
UNHEX()返回一个包含数字十六进制表示的字符串。
UPPER()此方法用于转换为大写。

MySQL 字符串函数示例

以下示例将帮助您理解这些字符串函数。

ASCII、BIN、BIT_LENGTH 示例

在此示例中,我们将使用字符串 ASCII、BIN 和 BIT_LENGTH 函数。

SELECT ASCII(5), ASCII('T'), ASCII('Tut'), ASCII('a');

SELECT BIN(10), BIN(25), BIN(34), BIN(8), BIN(4);

SELECT BIT_LENGTH('Hi'), BIT_LENGTH('Tutorial');
MySQL string ASCII, BIN, BIT_LENGTH functions Example 6

在此示例中,我们使用 MySQL 字符串 CHAR、CHAR_LENGTH 和 CHARACTER_LENGTH 方法来查找字符对应的 ASCII 码长度在 MySQL 中。

SELECT CHAR(84), CHAR(77, 121, 83, 81, 76), CHAR(72, 105);

SELECT CHAR_LENGTH('Hi'), CHAR_LENGTH('MySQL');

SELECT CHARACTER_LENGTH('Hello'), CHARACTER_LENGTH('Tutorial');
CHAR, CHAR_LENGTH, and CHARACTER_LENGTH 7

MySQL 字符串 CONTACT 和 CONTACT_WS 函数

在此示例中,我们使用 CONCAT 和 CONCAT_WS 方法连接多个字符串值。接下来,我们使用 ELT 来查找指定索引处的单词。

SELECT CONCAT('Hello', 'World'), CONCAT('Hi', 'All');

SELECT CONCAT_WS(',','Hello', 'World'), CONCAT_WS(',','Hi', 'All');

SELECT ELT(2, 'aa','bb','cc','dd'), ELT(4, 'aa','bb','cc','dd');
CONTACT and CONTACT_WS Example 1

在此示例中,我们将使用字符串 EXPORT_SET、FIELD 和 FIND_IN_SET 函数。

SELECT EXPORT_SET(5, 'Y', 'N', ',', 4), EXPORT_SET(5, 'Y', 'N', '-', 6);

SELECT FIELD('abc', 'xyz', 'abc', 'Hi', 'you', 'abc');

SELECT FIND_IN_SET('x', 'a,b,c,x,d,e'), FIND_IN_SET('x', 'a,x,c,x,d,e');
EXPORT_SET, FIELD, and FIND_IN_SET Functions 2

MySQL 字符串函数示例 5

在此示例中,我们使用 FORMAT 函数来格式化值,使用 HEX 来查找十六进制值。接下来,我们使用 INSERT 函数来插入子字符串。

SELECT FORMAT(98765.126349, 3), FORMAT(98765.126349, 2, 'ru_RU');

SELECT HEX('Hi'), HEX(25), HEX(255), HEX(495), HEX(1235);

SELECT INSERT('TutorialGateway', 4, 2, 'aaa');
MySQL String Functions 3

在此实例中,我们使用 INSTR 方法查找子字符串第一次出现的索引位置。接下来,我们使用 LCASE 将文本转换为小写,并使用 LEFT 查找字符串中最左边的字符。

SELECT INSTR('hiabcatabc', 'abc'), INSTR('we abc at abc in xyz', 'abc');

SELECT LCASE('Hi GuYS'), LCASE('MySQL'), LCASE('SUResH');

SELECT LEFT('tutorialgateway', 8), LEFT('tutorialgateway', 12);
String Functions 4

在此示例中,我们使用 LENGTH 函数查找字符串长度。接下来,我们使用 LOCATE 查找子字符串第一次出现的索引位置。在最后一个语句中,LOWER 函数将给定句子转换为小写。

SELECT LENGTH('hello'), LENGTH('Hello world');

SELECT LOCATE('at','abcatabc'), LOCATE('abc','we abc at abc in xyz', 7);

SELECT LOWER('HELLO WoRLd'), LOWER('MySQL TUTORIAL'), LOWER('SUResH');
LENGTH, LOCATE, LOWER Example 5

MySQL 字符串 LPAD、LTRIM、RTRIM 函数示例

在此示例中,我们使用 LPAD 在句子左侧附加子字符串,使用 LTRIM 移除前导空格。接下来,我们使用 RTRIM 移除尾随空格。

SELECT LPAD('MySQL', 7, 'Hi'), LPAD('MySQL', 3, 'Hi');

SELECT LTRIM(' Hi'), LTRIM(' MySQL');

SELECT RTRIM('Hello '), RTRIM('MySQL ');
LPAD, LTRIM,RTRIM 9

在此字符串函数示例中,我们使用了 MAKE_SET、MID 和 OCT 函数。

SELECT MAKE_SET(2, 'aa', 'bb', 'cc'), MAKE_SET(1|3, 'aa', 'bb', 'cc');

SELECT MID('tutorialgateway', 2, 5), MID('tutorialgateway', 5, 13);

SELECT OCT(15), OCT(2), OCT(255);
make_set, mid, oct example 10

MySQL 字符串 repeat、replace、reverse 函数示例

在此示例中,我们使用 MySQL 的 REPEAT 来重复子,使用 REPLACE 函数将单词替换为新的子字符串。接下来,我们使用 REVERSE 函数反转给定的句子。

SELECT REPEAT('MySQL', 2), REPEAT('Hello', 5);

SELECT REPLACE('hello', 'l', 'd'), REPLACE('tutorialgateway', 't', 'AA');

SELECT REVERSE('hello'), REVERSE('MySQL'), REVERSE('Suresh');
repeat, reverse, replace example 11

MySQL RIGHT、RPAD、SOUNDEX 示例 11

在此示例中,我们将使用 RIGHT 函数查找最右边的字符,使用 RPAD 在右侧附加子字符串。接下来,我们使用 SOUNDEX 查找给定文本的 Soundex 值。

SELECT RIGHT('tutorialgateway', 4), RIGHT('tutorialgateway', 10);

SELECT RPAD('MySQL', 10, 'Hello'), RPAD('MySQL', 3, 'Hi');

SELECT SOUNDEX('Hello'), SOUNDEX('MySQL');
String RIGHT, RPAD, SOUNDEX Functions Example 8

在此场景中,我们使用 SPACE 生成空格。接下来,我们使用 MySQL 字符串 SUBSTRSUBSTRING 从给定文本返回子字符串。

SELECT SPACE(5), CONCAT('Learn', SPACE(2), 'MySQL');

SELECT SUBSTR('tutorialgateway', 9), SUBSTR('MySQL Tutorial', 3, 9);

SELECT SUBSTRING('tutorialgateway', 9), SUBSTRING('MySQL Tutorial', 3, 9);
String Functions 12

MySQL 字符串 substring、trim、ucase 函数示例

在此示例中,我们使用 MySQL 的 TRIM 移除前导和尾随空格。接下来,UCASE 字符串函数将文本转换为大写,SUBSTRING_INDEX 根据指定分隔符的索引位置返回子字符串。

SELECT SUBSTRING_INDEX('hi,how are,you', ',', 2);

SELECT TRIM(' hi '), TRIM(BOTH 'A' FROM 'AAAAhello worldAAAA');

SELECT UCASE('suREsh'), UCASE('TutoriALgatEway');
substring, trim, ucase Example 13

在这里,我们使用 UNHEX 字符串函数从十六进制数返回文本。接下来,我们使用 MySQL 的 UPPER 将文本转换为大写。最后的 QUOTE 语句用于跳过或转义特殊字符。

SELECT UNHEX('4869'), UNHEX('255'), UNHEX('4D7953514C');

SELECT UPPER('Hi'), UPPER('HeLlo world'), UPPER('mysql');

SELECT QUOTE('Don\'t Worry!');
String Functions example 14