如何在 MySQL 中从一个字符串中从某个特定位置开始提取子串?


为此,你可以使用 mid() 函数。如下所示语法 −

select mid(yourColumnName, yourPositionToStart, yourEndValue) as anyAliasName from yourTableName;

首先,我们创建一个表 −

mysql> create table DemoTable
   -> (
   -> Title text
   -> );
Query OK, 0 rows affected (0.64 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable values('My best framework is Spring and Hibernate');
Query OK, 1 row affected (0.21 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

输出

+-------------------------------------------+
| Title                                     |
+-------------------------------------------+
| My best framework is Spring and Hibernate |
+-------------------------------------------+
1 row in set (0.00 sec)

下面是在 MySQL 中获取字符串一部分的查询。我们尝试从第 21 个字符开始获取 30 个字符。如果 21 个字符之后的字符数不是 30,那么只有剩下的字符将被显示 −

mysql> select mid(Title,21,30) as partofString from DemoTable;

输出

+-----------------------+
| partofString          |
+-----------------------+
| Spring and Hibernate  |
+-----------------------+
1 row in set (0.00 sec)

更新于: 30-7-2019

209 次浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告