仅从文件名作为 MySQL 中的字符串的列中获取文件扩展名?
为此,请使用该substring_index()功能。
语法如下
select substring_index(yourColumnName, '. ', -1) AS anyAliasNamefrom yourTableName;
让我们首先创建一个表。创建表的查询如下
mysql> create table AllFiles - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > UserName varchar(10), - > FileName varchar(100) - > );
使用插入命令在表中插入一些记录。
查询如下
mysql> insert into AllFiles(UserName,FileName) values('Larry','AddTwoNumber.java'); mysql> insert into AllFiles(UserName,FileName) values('Mike','AddTwoNumber.python'); mysql> insert into AllFiles(UserName,FileName) values('Sam','MatrixMultiplication.c'); mysql> insert into AllFiles(UserName,FileName) values('Carol','vector.cpp');
使用select语句显示表中的所有记录。
查询如下
mysql> select *from AllFiles;
以下是输出
+----+----------+------------------------+ | Id | UserName | FileName | +----+----------+------------------------+ | 1 | Larry |AddTwoNumber.java | | 2 | Mike |AddTwoNumber.python | | 3 | Sam |MatrixMultiplication.c| | 4 | Carol |vector.cpp | +----+----------+------------------------+ 4 rows in set (0.00 sec)
这是在MySQL中仅获取文件扩展名的查询
mysql> select substring_index(FileName,'.',-1) AS ALLFILENAMEEXTENSIONS from AllFiles;
以下是输出
+-----------------------+ | ALLFILENAMEEXTENSIONS | +-----------------------+ | java | | python | | c | | cpp | +-----------------------+ 4 rows in set (0.00 sec)