Mysql中,SUBSTRING 函数从给定字符串中指定的位置开始返回一个指定长度的子字符串。
语法1:
SUBSTRING(str,pos) SUBSTRING(str FROM pos)
语法2:
SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len)
substring() 函数返回字符串str从指定位置pos开始的子串,如果不指定截取的长度值len,则截取从位置pos开始到字符串str结束的全部子串;如果指定截取的长度len,则截取从位置pos开始长度为len的子串。
pos参数也可以是一个负值,这样的话,子字符串的位置起始于字符串结尾的 pos 字符,而不是字符串的开头位置。
注意:
1. pos的索引值从1开始,而不是0
2. 如果对len使用的是一个小于1的值,则结果始终为空字符串
3. 返回的子字符串包含pos位置的字符
举例1,返回从第2个字符开始到结束的子串:
-- 返回从第2个字符开始到结束的子串 SELECT SUBSTRING('123456',2); -- 也可以使用 FROM 的标准SQL语法 -- SELECT SUBSTRING('123456' FROM 2);
举例2,返回从第2个字符开始,截取长度为2的子串:
-- 返回从第2个字符开始,截取长度为2的子串 SELECT SUBSTRING('123456',2,2); -- 也可以使用 FROM 的标准SQL语法 SELECT SUBSTRING('123456' FROM 2 FOR 2);
举例3,返回从尾部第5个字符开始,截取长度为2的子串:
-- 返回从尾部第5个字符开始,截取长度为2的子串 SELECT SUBSTRING('123456',-5,2); -- 也可以使用 FROM 的标准SQL语法 SELECT SUBSTRING('123456' FROM -5 FOR 2);
本文地址:https://blog.csdn.net/ztnhnr/article/details/107662044