MySQL的substring()函数是一种用于提取指定字符串的一部分的函数。它的基本语法形式如下:
```
SUBSTRING(str, start_position [, length])
```
其中,str是原始字符串,start_position是起始位置(从1开始),length是可选参数,指定要返回的字符串的长度。
1. 子串--从第一个字符开始
当只指定第一个参数时,substring()函数返回从指定位置开始的原始字符串的子字符串。
例如,下面的例子从字符串“Hello World!”的第七个字符(W)开始返回子字符串:
```
SELECT SUBSTRING('Hello World!', 7);
```
结果:
```
World!
```
2. 子串--从指定位置开始,并且指定长度
当指定第二个参数时,substring()函数会从指定位置开始返回原始字符串的子串,同时指定长度参数以确定子串的长度。
例如,下面的例子从字符串“Hello World!”的第七个字符(W)的位置开始返回前五个字符:
```
SELECT SUBSTRING('Hello World!',7,5);
```
结果:
```
World
```
3. 子串--从末尾向前截取指定长度的字符
还可以使用substring()函数从字符串末尾开始提取一部分字符串。例如,下面的代码会返回字符串“Hello”的后三个字符:
```
SELECT SUBSTRING( 'Hello', LENGTH('Hello')-2, 3 );
```
结果:
```
llo
```
4. 替换字符串中的子串
还可以使用substring()函数替换字符串中的子串。例如,下面的代码将字符串中的第一个“o”替换为“x”:
```
SELECT CONCAT(SUBSTRING('Hello World!', 1, 4), 'x', SUBSTRING('Hello World!', 6));
```
结果:
```
Hellx World!
```
综上所述,MySQL的substring()函数提供了一种灵活的方法,可用于从字符串中提取子字符串。在使用该函数时,请注意确保提供正确的参数,以便从原始字符串中提取出所需的子字符串。