mysql按指定字符截取
作者:mmseoamin日期:2023-12-18

1、使用SUBSTRING函数进行截取

语法:str是要截取的字符串,pos是起始位置,len是要截取的长度

SUBSTRING(str, pos, len)

例子

SELECT SUBSTRING('Hello, World!', 1, 5);

返回"Hello"。其中,起始位置为1,截取的长度为5

2、使用REGEXP_SUBSTR函数进行截取

语法:str是要截取的字符串,regexp是正则表达式

REGEXP_SUBSTR(str, regexp)

例子

SELECT REGEXP_SUBSTR('Hello, World!', '[A-Z][a-z]+');

返回"Hello"。其中,正则表达式"[A-Z][a-z]+"表示匹配一个以大写字母开头,后面跟着一个或多个小写字母的子字符串

3、使用LEFT和RIGHT函数进行截取

语法:LEFT函数返回字符串的左边指定长度的字符,RIGHT函数返回字符串的右边指定长度的字符

LEFT(str,len)
RIGHT(str,len)

例子

SELECT LEFT('Hello, World!', 5);
SELECT RIGHT('Hello, World!', 6);

分别返回"Hello"和"World!"

4、使用REPLACE函数,用于替换字符串的函数,也可以用来进行截取操作

语法:str是要替换的字符串,from_str是要替换的子字符串,to_str是替换后的子字符串

REPLACE(str, from_str, to_str)

例子

SELECT REPLACE('Hello, World!', 'Hello, ', '');

返回"World!"。其中,将"Hello, "替换为空字符串,实现了字符串的截取

4、使用SUBSTRING_INDEX函数进行截取,可以根据指定的分隔符和位置来截取字符串

语法:str是要截取的字符串,delim是分隔符,count是要截取的子字符串的位置

SUBSTRING_INDEX(str, delim, count)

例子

SELECT SUBSTRING_INDEX('www.example.com', '.', 2);

返回字符串"www.example"。其中,使用"."作为分隔符,2返回前两个分割的数据