MariaDB MID() 函数的基础用法与实例
发布于
MariaDB MID()
函数用来从字符串中提取子字符串。本文将介绍该函数的语法、用法实例以及相关函数。
语法
MariaDB MID()
函数的语法如下:
MID(str, start, length)
str
:要提取子字符串的源字符串。start
:子字符串开始的位置,第一个字符的位置为 1。如果start
为正数,则从左边开始计数;如果为负数,则从右边开始计数。length
:可选参数,表示要提取的字符数量。如果省略该参数,则提取从start
位置开始直到字符串末尾的所有字符。
该函数返回从 str
字符串中从 start
位置开始提取长度为 length
的子字符串。
MID(str,start,len)
函数是 SUBSTRING(str,start,len)
函数的同义词.
实例
从左边开始提取子字符串
本实例将从字符串左边开始提取子字符串。
SELECT MID('Hello World', 1, 5);
以下是该语句的输出:
+--------------------------+
| MID('Hello World', 1, 5) |
+--------------------------+
| Hello |
+--------------------------+
从右边开始提取子字符串
本实例将从字符串右边开始提取子字符串。
SELECT MID('Hello World', -5, 5);
以下是该语句的输出:
+---------------------------+
| MID('Hello World', -5, 5) |
+---------------------------+
| World |
+---------------------------+
省略长度参数
本实例将省略长度参数,从指定位置一直提取到字符串末尾。
SELECT MID('Hello World', 7);
以下是该语句的输出:
+-----------------------+
| MID('Hello World', 7) |
+-----------------------+
| World |
+-----------------------+
从表中提取子字符串
本实例将从 products
表的 name
字段中提取子字符串。
DROP TABLE IF EXISTS products;
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(100)
);
INSERT INTO products VALUES
(1, 'Product 1234'),
(2, 'Widget ABC'),
(3, 'Gadget XYZ');
SELECT id, MID(name, 1, 8) AS short_name
FROM products;
以下是该语句的输出:
+----+------------+
| id | short_name |
+----+------------+
| 1 | Product |
| 2 | Widget A |
| 3 | Gadget X |
+----+------------+
处理 NULL 值
本实例展示了 MID()
函数在处理 NULL 值时的行为。
SELECT MID('Hello', 2, 3), MID(NULL, 1, 3);
以下是该语句的输出:
+--------------------+-----------------+
| MID('Hello', 2, 3) | MID(NULL, 1, 3) |
+--------------------+-----------------+
| ell | NULL |
+--------------------+-----------------+
相关函数
以下是几个与 MariaDB MID()
相关的函数:
- MariaDB
SUBSTRING()
函数用来提取字符串的子字符串。 - MariaDB
LEFT()
函数用来提取字符串从左边开始的指定长度的子字符串。 - MariaDB
RIGHT()
函数用来提取字符串从右边开始的指定长度的子字符串。 - MariaDB
LOCATE()
函数用来获取子字符串在字符串中的位置。 - MariaDB
REPLACE()
函数用来替换字符串中的子字符串。
结论
本文介绍了 MariaDB MID()
函数的语法、用法实例以及相关函数。该函数可以从字符串的任意位置开始提取指定长度的子字符串,或者从指定位置一直提取到字符串末尾。在需要处理字符串的场景下,MID()
函数非常实用。同时也展示了该函数在处理 NULL 值时的行为。