在 MySQL 中选择最后一个斜杠后的文本?
mysqlmysqli database更新于 2023/12/8 9:11:00
您需要使用 MySQL 中的 substring_index() 函数来选择文本。
语法如下
SELECT substring_index(yourColumnName,'/',-1) AS anyAliasName FROM yourTableName;
为了理解上述概念,让我们创建一个表。创建表的查询如下
mysql> create table selectTextAfterLastSlashDemo - > ( - > UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > UserPathDirectory varchar(200) - > ); Query OK, 0 rows affected (0.54 sec)
使用 insert 命令在表中插入一些记录。
查询如下
mysql> insert into selectTextAfterLastSlashDemo(UserPathDirectory) values('C:/MyFolder1/MyEntityFramework'); Query OK, 1 row affected (0.18 sec) mysql> insert into selectTextAfterLastSlashDemo(UserPathDirectory) values('D:/MySpringFrameworkDemo'); Query OK, 1 row affected (0.14 sec) mysql> insert into selectTextAfterLastSlashDemo(UserPathDirectory) values('E:/Java/MyRootFolder/Source/AllHibernateDemo'); Query OK, 1 row affected (0.14 sec) mysql> insert into selectTextAfterLastSlashDemo(UserPathDirectory) values('C:/Program Files/MySQL/Server 8.0'); Query OK, 1 row affected (0.20 sec) mysql> insert into selectTextAfterLastSlashDemo(UserPathDirectory) values('C:/John/Folder1/Folder2'); Query OK, 1 row affected (0.10 sec)
使用 select 语句显示表中的所有记录。
查询如下
mysql> select *from selectTextAfterLastSlashDemo;
以下是输出的列显示路径
+--------+----------------------------------------------+ | UserId | UserPathDirectory | +--------+----------------------------------------------+ | 1 | C:/MyFolder1/MyEntityFramework | | 2 | D:/MySpringFrameworkDemo | | 3 | E:/Java/MyRootFolder/Source/AllHibernateDemo | | 4 | C:/Program Files/MySQL/Server 8.0 | | 5 | C:/John/Folder1/Folder2 | +--------+----------------------------------------------+ 5 rows in set (0.00 sec)
以下是获取最后一个斜杠后文本的查询
mysql> select substring_index(UserPathDirectory,'/',-1) as TextAfterLastSlash from selectTextAfterLastSlashDemo;
以下是显示最后一个斜杠后文本的输出
+-----------------------+ | TextAfterLastSlash | +-----------------------+ | MyEntityFramework | | MySpringFrameworkDemo | | AllHibernateDemo | | Server 8.0 | | Folder2 | +-----------------------+ 5 rows in set (0.00 sec)