MariaDB MID() 函数使用指南

在 MariaDB 中, MID() 是一个内置的字符串函数,从一个字符串的指定位置开始提取一个指定长度的子串并返回。

MariaDB MID() 语法

这里是 MariaDB MID() 函数的语法:

MID(str, pos[, len])

MID(str, pos, len) 等同于 SUBSTRING(str, pos, len) 和 SUBSTR(str, pos, len) 函数。

参数

str
必需的。从中提取子字符串的原字符串。
pos
必需的。开始提取的位置。它可以是正数或者负数。如果是正数,则从字符串的开头开始提取子字符串。如果是负数,则从字符串的结尾提取子字符串。
len
可选的。子字符串的长度(字符数)。如果不指定,则提取到原字符串的结尾。

如果您使用了错误的参数, MariaDB 将报告错误: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‘)’ at line 1。

返回值

MariaDB MID() 函数从原字符串提取的子字符串。

如果 pos 为 0 或者超过原字符串的长度时, MID() 函数将返回空串 ''。

如果参数为 NULL, MID() 函数将返回 NULL。

MariaDB MID() 示例

提取到结尾

下面的语句展示了如何使用 MariaDB MID() 函数从 'Hello' 中提取从第三个字符到结尾的子串:

SELECT MID('Hello', 3);

输出:

+-----------------+
| MID('Hello', 3) |
+-----------------+
| llo             |
+-----------------+

提取指定长度的子串

下面的语句展示了如何使用 MariaDB MID() 函数从指定的位置提取指定长度的子字符串:

SELECT MID('Hello', 1, 2);

输出:

+--------------------+
| MID('Hello', 1, 2) |
+--------------------+
| He                 |
+--------------------+

在本示例中, MID('Hello', 1, 2) 返回从第一个字符开始的长度位 2 的子字符串,因此返回了 He。

其他示例

本示例展示了 MariaDB MID() 函数的各种用法:

SELECT
    MID('Hello', 1, 2),
    MID('Hello', 2, 2),
    MID('Hello', 1),
    MID('Hello', 1, 8),
    MID('Hello', -1, 2),
    MID('Hello', 8, 2),
    MID('Hello', 0, 2),
    MID('Hello', 0),
    MID(NULL, 1, 1)\G

输出:

*************************** 1. row ***************************
 MID('Hello', 1, 2): He
 MID('Hello', 2, 2): el
    MID('Hello', 1): Hello
 MID('Hello', 1, 8): Hello
MID('Hello', -1, 2): o
 MID('Hello', 8, 2):
 MID('Hello', 0, 2):
    MID('Hello', 0):
    MID(NULL, 1, 1): NULL

结论

MariaDB MID() 函数从一个字符串的指定位置开始提取一个指定长度的子串并返回。