SUBSTR
是 MySQL 中的一个字符串函数,用于从字符串中提取子字符串。其基本语法如下:
SUBSTR(str, pos[, len])
str
:要从中提取子字符串的原始字符串。pos
:开始提取的位置。位置从 1 开始计数。len
(可选):要提取的字符数。如果省略,则提取到字符串末尾。假设我们有一个名为 employees
的表,其中有一个 department
字段,我们想要提取每个部门名称的前三个字符:
SELECT SUBSTR(department, 1, 3) AS department_prefix FROM employees;
SUBSTR
函数允许你根据需要提取任意长度的子字符串。SUBSTR
在 MySQL 中经过优化,执行效率高。SUBSTR
按字节位置提取子字符串。SUBSTR
按字符位置提取子字符串,确保不会截断多字节字符。SUBSTR
函数时,提取的子字符串包含乱码?原因:这通常是因为字符集不匹配或字符编码问题。当原始字符串的字符集与 MySQL 会话的字符集不一致时,可能会导致乱码。
解决方法:
SET NAMES 'utf8mb4';
SUBSTRING
或 SUBSTR
的多字节版本(如果可用)。SUBSTR
函数在某些情况下返回空字符串?原因:
pos
超出了字符串的长度。len
设置为 0。解决方法:
pos
参数的值在字符串的有效范围内。len
参数或将其设置为适当的正数值。领取专属 10元无门槛券
手把手带您无忧上云