MySQL截取字符串常见函数有:left()、right()、substring()、substring_index()。
从左侧截取字符串
用法:left(str, length)
描述:left(被截取字符串, 截取长度)
SELECT LEFT('www.baidu.com',3);
-- 结果为:www
从右侧截取字符串
用法:right(str, length)
描述:right(被截取字符串, 截取长度)
SELECT RIGHT('www.baidu.com',3);
-- 结果为:com
从指定位置截取字符串
用法:
- substring(str, pos)
描述:substring(被截取字符串, 位置) - substring(str, pos, length)
描述:substring(被截取字符串,位置,截取长度)
字符串起始位置为1
-
从字符串的第1个字符开始截取,直至结束
SELECT SUBSTRING('www.baidu.com', 1); -- 结果为:www.baidu.com
-
从字符串的第0个字符开始截取,结果为空
SELECT SUBSTRING('www.baidu.com', 0); -- 结果为:空
-
从字符串的第1个字符开始截取,只取3个字符
SELECT SUBSTRING('www.baidu.com', 1, 3); -- 结果为:www
-
从字符串的倒数第1个字符开始截取,直至结束
SELECT SUBSTRING('www.baidu.com', -1) ; -- 结果为:m
-
从字符串的倒数第n个字符开始截取,只取3个字符
SELECT SUBSTRING('www.baidu.com', -1, 3); -- 结果为:m SELECT SUBSTRING('www.baidu.com', -3, 3); -- 结果为:com
按分隔符和计数截取字符串
用法:substring_index(str, delim, count)
描述:substring_index(被截取字符串,分隔符,计数)
-
截取第二个分隔符“w”之前的所有字符
SELECT SUBSTRING_INDEX("woaiwojia","w",2); -- 结果为:woai
-
截取倒数第一个分隔符“wo”之后的所有字符
SELECT SUBSTRING_INDEX("woaiwojia","wo",-1); -- 结果为:jia
-
如果分隔符不存在,则返回整个字符串
SELECT SUBSTRING_INDEX("woaiwojia","wow",-1) -- 结果为:woaiwojia