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返回前两个分割的数据