mysql字符串截取函数

在MySQL中,字符串截取是一项常用的操作。字符串截取函数可以根据指定的条件,从一个字段或者一个字符串中提取所需的子串。本文将详细介绍MySQL中常用的字符串截取函数,并给出示例代码及运行结果。
SUBSTRING()
SUBSTRING(str, pos, len)
SUBSTRING()函数用于从指定的字符串str中截取子串,截取的起始位置为pos,截取的长度为len。参数pos和len都是可选的,如果省略了参数len,则表示从起始位置pos截取到字符串的最后。
示例代码:
SELECT SUBSTRING('Hello, world!', 8) AS Result;
运行结果:
world!
在上述示例中,我们从字符串’Hello, world!’的第8个字符开始截取了子串’world!’。由于没有指定长度,所以一直截取到字符串的最后。
LEFT()
LEFT(str, len)
LEFT()函数用于从指定的字符串str的左边截取len个字符作为子串。如果len小于等于0,则返回空字符串。
示例代码:
SELECT LEFT('Hello, world!', 5) AS Result;
运行结果:
Hello
在上述示例中,我们从字符串’Hello, world!’的左边截取了5个字符作为子串。截取到的子串为’Hello’。
RIGHT()
RIGHT(str, len)
RIGHT()函数用于从指定的字符串str的右边截取len个字符作为子串。如果len小于等于0,则返回空字符串。
示例代码:
SELECT RIGHT('Hello, world!', 6) AS Result;
运行结果:
world!
在上述示例中,我们从字符串’Hello, world!’的右边截取了6个字符作为子串。截取到的子串为’world!’。
MID()
MID(str, pos, len)
MID()函数用于从指定的字符串str中从位置pos开始截取len个字符作为子串。
示例代码:
SELECT MID('Hello, world!', 8, 5) AS Result;
运行结果:
world
在上述示例中,我们从字符串’Hello, world!’的第8个字符开始截取了5个字符作为子串。截取到的子串为’world’。
SUBSTRING_INDEX()
SUBSTRING_INDEX(str, delimiter, count)
SUBSTRING_INDEX()函数用于从指定的字符串str中根据指定的分隔符delimiter截取子串。参数count控制截取的次数,如果count为正值,则从左边开始截取;如果count为负值,则从右边开始截取。
示例代码:
SELECT SUBSTRING_INDEX('www.example.com', '.', 2) AS Result;
运行结果:
www.example
在上述示例中,我们从字符串’www.example.com’中,根据分隔符’.’截取了2次子串,截取到的子串为’www.example’。
REPLACE()
REPLACE(str, search, replace)
REPLACE()函数用于在指定的字符串str中,将所有出现的子串search替换为指定的字符串replace。
示例代码:
SELECT REPLACE('Hello, world!', 'world', 'everyone') AS Result;
运行结果:
Hello, everyone!
在上述示例中,我们将字符串’Hello, world!’中的子串’world’替换为’everyone’,得到了新的字符串’Hello, everyone!’。
CONCAT()
CONCAT(str1, str2, ...)
CONCAT()函数用于将多个字符串连接成一个字符串。
示例代码:
SELECT CONCAT('Hello', ' ', 'world!') AS Result;
运行结果:
Hello world!
在上述示例中,我们将三个字符串’Hello’、空格和’world!’连接成一个字符串’Hello world!’。
总结
本文介绍了MySQL中常用的字符串截取函数,包括SUBSTRING()、LEFT()、RIGHT()、MID()、SUBSTRING_INDEX()、REPLACE()和CONCAT()。通过这些函数,我们可以方便地对字符串进行截取、替换和连接操作,灵活地处理字符串数据。
极客笔记