如何在具有文件位置记录的 MySQL 表中获取子字符串结果?
要提取子字符串,请在 MySQL 中照下列语法使用 substr() 方法 −
select substr(yourColumnName,startIndex,endIndex) from yourTableName limit anyValue; select substr(yourColumnName,startIndex+endIndex) from yourTableName limit anyValue;
让我们创建一个表 −
mysql> create table demo11 −> ( −> id int NOT NULL AUTO_INCREMENT PRIMARY KEY, −> fileLocation text −> ); Query OK, 0 rows affected (2.60 sec)
利用 insert 命令在表中插入一些记录 −
mysql> insert into demo11(fileLocation) values('E:/users/program/sample.sql'); Query OK, 1 row affected (0.15 sec) mysql> insert into demo11(fileLocation) values('E:/users/data/db.sql'); Query OK, 1 row affected (0.32 sec) mysql> insert into demo11(fileLocation) values('C:/users/data/sample2.sql'); Query OK, 1 row affected (0.13 sec)
使用 select 语句从表中显示记录 −
mysql> select *from demo11;
这将生成以下输出 −
+----+-----------------------------+ | id | fileLocation | +----+-----------------------------+ | 1 | E:/users/program/sample.sql | | 2 | E:/users/data/db.sql | | 3 | C:/users/data/sample2.sql | +----+-----------------------------+ 3 rows in set (0.00 sec)s
下面是获取多行子字符串结果的查询。
第一部分查询如下 −
mysql> select substr(fileLocation,1,15) from demo11 limit 1,2;
这将生成以下输出 −
+---------------------------+ | substr(fileLocation,1,15) | +---------------------------+ | E:/users/data/d | | C:/users/data/s | +---------------------------+ 2 rows in set (0.00 sec)
第二部分如下 −
mysql> select substr(fileLocation,16) from demo11 limit 1,2;
这将生成以下输出 −
+-------------------------+ | substr(fileLocation,16) | +-------------------------+ | b.sql | | ample2.sql | +-------------------------+ 2 rows in set (0.00 sec)
广告