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

mysqlmysqli database

为此,您可以使用 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)

相关文章