从 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) - > ); Query OK, 0 rows affected (0.65 sec)
使用 insert 命令向表中插入一些记录。
查询如下
mysql> insert into AllFiles(UserName,FileName) values('Larry','AddTwoNumber.java');
Query OK, 1 row affected (0.18 sec)
mysql> insert into AllFiles(UserName,FileName) values('Mike','AddTwoNumber.python');
Query OK, 1 row affected (0.15 sec)
mysql> insert into AllFiles(UserName,FileName) values('Sam','MatrixMultiplication.c');
Query OK, 1 row affected (0.16 sec)
mysql> insert into AllFiles(UserName,FileName) values('Carol','vector.cpp');
Query OK, 1 row affected (0.15 sec)使用 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)
广告
数据结构
网络
关系型数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP