MariaDB SUBSTR() 函数的基础用法与实例
MariaDB SUBSTR()
函数用来从字符串中提取子字符串。
发布于
MariaDB SUBSTR()
函数用来从字符串中提取子字符串。它是处理字符串数据非常有用的函数,可以在很多场景下使用,如截取固定长度的字符、提取文件扩展名、隐藏手机号码中间数字等。
语法
MairaDB SUBSTR()
函数的语法如下:
SUBSTR(str, pos, [len])
str
: 要提取子字符串的源字符串。pos
: 子字符串的起始位置,正值从左边开始,负值从右边开始。len
: 可选参数,表示要返回的字符数量。如果省略,则返回剩余的全部字符。
该函数返回从 str
中提取的子字符串。
实例
从左侧截取固定长度子字符串
此示例展示了如何从左侧截取指定长度的子字符串。
SELECT SUBSTR('Hello World', 1, 5);
以下是该语句的输出:
+-----------------------------+
| SUBSTR('Hello World', 1, 5) |
+-----------------------------+
| Hello |
+-----------------------------+
从右侧截取固定长度子字符串
此示例展示了如何从右侧截取指定长度的子字符串。
SELECT SUBSTR('Hello World', -5);
以下是该语句的输出:
+---------------------------+
| SUBSTR('Hello World', -5) |
+---------------------------+
| World |
+---------------------------+
删除文件路径获取文件名
此示例展示了如何使用 SUBSTR()
从文件路径中提取文件名。
SELECT SUBSTR('C:/Program Files/MySQL/bin/mysql.exe', INSTR('C:/Program Files/MySQL/bin/mysql.exe', '/')+1) AS file_name;
以下是该语句的输出:
+-----------------------------------+
| file_name |
+-----------------------------------+
| Program Files/MySQL/bin/mysql.exe |
+-----------------------------------+
隐藏手机号码中间数字
此示例展示了如何使用 SUBSTR()
隐藏手机号码中间的数字。
DROP TABLE IF EXISTS users;
CREATE TABLE users (id INT, phone VARCHAR(20));
INSERT INTO users VALUES (1, '13812345678'), (2, '15723456789'), (3, '18611112222');
SELECT id, CONCAT(SUBSTR(phone,1,3), '****', SUBSTR(phone,-4)) AS masked_phone
FROM users;
以下是该语句的输出:
+------+--------------+
| id | masked_phone |
+------+--------------+
| 1 | 138****5678 |
| 2 | 157****6789 |
| 3 | 186****2222 |
+------+--------------+
按固定长度截断字符串
此示例展示了如何使用 SUBSTR()
按固定长度截断过长的字符串。
DROP TABLE IF EXISTS products;
CREATE TABLE products (id INT, name VARCHAR(100));
INSERT INTO products VALUES (1, '高端显示器'), (2, '超薄笔记本电脑'), (3, '智能机器人玩具');
SELECT id, SUBSTR(name, 1, 6) AS short_name
FROM products;
以下是该语句的输出:
+------+--------------+
| id | short_name |
+------+--------------+
| 1 | 高端显示器 |
| 2 | 超薄笔记本电 |
| 3 | 智能机器人玩 |
+------+--------------+
相关函数
以下是几个与 MairaDB SUBSTR()
相关的函数:
- MariaDB
LEFT()
函数用来获取字符串左侧指定长度的子字符串。 - MariaDB
RIGHT()
函数用来获取字符串右侧指定长度的子字符串。 - MariaDB
SUBSTRING()
函数与SUBSTR()
作用相同,提取子字符串。 - MariaDB
INSTR()
函数用来查找子字符串在源字符串中的位置。 - MariaDB
REPLACE()
函数用来替换字符串中的子字符串。
结论
MariaDB SUBSTR()
函数是处理字符串数据的重要工具,可以轻松地提取指定位置和长度的子字符串。结合其他字符串函数,可以完成更多更复杂的字符串操作,如格式化、清理、检查等,为数据处理提供了强大的支持。在日常开发中,合理利用这些函数可以大大减少代码量,提高工作效率。