在MySQL中,截取字符串的常用函数主要包括`SUBSTRING()`, `LEFT()`, `RIGHT()`, 和`MID()`(`MID()`实际上是`SUBSTRING()`的另一种形式)。下面是对这些函数的简要使用说明:
### 1. `SUBSTRING(str, pos, len)` 或 `MID(str, pos, len)`
这两个函数是等价的,用于从字符串`str`中的`pos`位置开始,截取长度为`len`的子字符串。如果`pos`是负数,则从字符串的末尾开始计算位置。
**示例**:
SELECT SUBSTRING('Hello, World!', 8, 5) AS ExtractedString;
-- 结果: World
SELECT MID('Hello, World!', 1, 5) AS ExtractedString;
-- 结果: Hello
### 2. `LEFT(str, len)`
`LEFT()`函数用于从字符串`str`的左侧开始,截取长度为`len`的子字符串。
**示例**:
SELECT LEFT('Hello, World!', 5) AS ExtractedString;
-- 结果: Hello
### 3. `RIGHT(str, len)`
`RIGHT()`函数与`LEFT()`相反,用于从字符串`str`的右侧开始,截取长度为`len`的子字符串。
**示例**:
SELECT RIGHT('Hello, World!', 5) AS ExtractedString;
-- 结果: World
请注意,在使用这些函数时,`pos`(位置)和`len`(长度)都是必须的参数(对于`LEFT()`和`RIGHT()`,`len`是必需的,因为它们没有`pos`参数的概念,总是从字符串的一端开始)。如果`pos`超出了字符串的长度,这些函数会返回空字符串('')。如果`len`省略或为负数,则函数会返回从`pos`开始到字符串末尾的所有字符。