MySQL 中的子字符串
Preet Sanghavi
2023年1月3日
2022年5月13日
在本教程中,我们旨在探索如何在 MySQL 中获取列的子字符串。
由于存储限制,数据库开发人员必须以较短的格式发送数据报告。在尝试挖掘数据或仅从冗长的字符串中获取相关信息时,还需要实际字符串的子字符串。
MySQL 为我们提供了处理此操作的 SUBSTR()
函数。SUBSTR()
函数接受三个参数:string
、position
和 length
。
string
表示需要更改的长字符串。position
表示字符串需要更改的位置,length
表示输出字符串中所需的字符总数。
让我们了解这种方法是如何工作的。但在开始之前,我们必须通过创建一个包含几行的 student_details
表来创建一个虚拟数据集。
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
上面的查询创建了一个表,其中包含学生的名字和姓氏。要查看数据中的条目,我们使用以下代码。
SELECT * FROM student_details;
输出:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
让我们尝试截断学生的姓氏。假设我们需要缩短姓氏来生成学生的电子邮件地址,则姓氏只能包含前三个字符。
MySQL 中的 SUBSTR
函数
SUBSTR()
函数的基本语法如下。
SUBSTR(string, position, length)
让我们尝试从 student_details
表中截断我们的列 stu_lastName
。可以使用下面的查询来完成。
select SUBSTR(stu_lastName, 1, 3) as shortened_lastNames
from student_details
上面的代码给出了使用学生的缩短姓氏。
输出:
shortened_lastNames
San
Joh
Bro
Jos
Sha
Par
Mil
注意
在上面的代码中,我们使用别名
shortened_lastNames
和 MySQL 中的 AS
关键字。因此,在 SUBSTR()
函数的帮助下,我们可以有效地拆分字符串并操作字符串的组件以在 MySQL 中生成替代项。
Author: Preet Sanghavi