如何在具有檔案位置記錄的 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)

更新於: 2020 年 11 月 19 日

152 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.