SUBSTRING 是 MySQL 中的一个字符串函数,用于从一个字符串中提取子字符串。它可以根据指定的起始位置和长度来截取字符串的一部分。
SUBSTRING(str, pos, len)str:要截取的原始字符串。pos:起始位置(从1开始计数)。len:截取的长度(可选,默认为从起始位置到字符串末尾)。SUBSTRING 在 MySQL 中经过优化,执行效率高。SUBSTRING 函数主要有两种类型:
SUBSTRING 函数返回的结果不正确?原因:
解决方法:
TRIM 函数去除字符串两端的空格。REPLACE 函数处理特殊字符。SELECT SUBSTRING(TRIM(' example '), 2, 5); -- 返回 'xample'
SELECT SUBSTRING(REPLACE('example!', '!', ''), 1, 5); -- 返回 'exampl'解决方法:
LENGTH 函数获取字符串长度,然后计算起始位置。RIGHT 函数直接截取最后一个字符。SELECT SUBSTRING('example', LENGTH('example'), 1); -- 返回 'e'
SELECT RIGHT('example', 1); -- 返回 'e'-- 截取从第3个字符开始的5个字符
SELECT SUBSTRING('Hello, World!', 3, 5); -- 返回 'llo,'
-- 截取从第3个字符开始到末尾的所有字符
SELECT SUBSTRING('Hello, World!', 3); -- 返回 'lo, World!'
-- 截取最后一个字符
SELECT RIGHT('Hello, World!', 1); -- 返回 '!'