MariaDB MID() 函数用于从指定位置开始的字符串中提取子字符串。
MID() 和 SUBSTR() 函数是 SUBSTRING() 函数。
语法
/* 版本1 */
MID(string, start, length)
/* 版本2 */
MID(string FROM start FOR length)
参数
sring | 必填。 指定要从中提取的字符串。 |
start | 必填。 指定起始位置。它可以是正数也可以是负数。
|
length | 可选。 指定要提取的字符数。如果省略,将返回整个字符串(从start位置开始)。 |
返回值
返回从指定字符串中提取的子字符串。
示例1:
下面的示例展示了MID()的用法
SELECT MID('Yxjc123.com', 1);
Result: 'Yxjc123.com'
SELECT MID('Yxjc123.com' FROM 1);
Result: 'Yxjc123.com'
SELECT MID('Yxjc123.com', 6);
Result: '23.com'
SELECT MID('Yxjc123.com' FROM 6);
Result: '23.com'
SELECT MID('Yxjc123.com', 6, 6);
Result: '23.com'
SELECT MID('Yxjc123.com' FROM 6 FOR 6);
Result: '23.com'
SELECT MID('Yxjc123.com', -4, 4);
Result: '.com'
SELECT MID('Yxjc123.com' FROM -4 FOR 4);
Result: '.com'
示例 2:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
PhoneNumber | EmpID | Address |
---|---|---|
+33-147996101 | 1 | Grenelle, Paris, France |
+31-201150319 | 2 | Geuzenveld, Amsterdam, Netherlands |
+86-1099732458 | 3 | Yizhuangzhen, Beijing, China |
+65-67234824 | 4 | Yishun, Singapore |
+81-357799072 | 5 | Koto City, Tokyo, Japan |
在下面的查询中,MID() 函数用于从 PhoneNumber 列记录中提取国家/地区代码。
SELECT *, MID(PhoneNumber, 2, 2) AS CountryCode
FROM Employee;
这将产生结果如下图:
PhoneNumber | EmpID | Address | CountryCode |
---|---|---|---|
+33-147996101 | 1 | Grenelle, Paris, France | 33 |
+31-201150319 | 2 | Geuzenveld, Amsterdam, Netherlands | 31 |
+86-1099732458 | 3 | Yizhuangzhen, Beijing, China | 86 |
+65-67234824 | 4 | Yishun, Singapore | 65 |
+81-357799072 | 5 | Koto City, Tokyo, Japan | 81 |