在SQL中获取不同的子字符串

时间:2015-02-20 06:59:47

标签: mysql sql

我有一个返回以下结果的SQL查询。

查询

SELECT DISTINCT Path from MyTable;

结果

+-------------------------+
|        Path             |
+-------------------------+
| home/MYPATH1/xxx/yyy    |
| home2/MYPATH2/xxxx/yyyy |
+-------------------------+

依旧......

我想提取返回路径的第二个术语。
MYPATH1MYPATH2

谁能告诉我怎么做?谢谢和问候。

2 个答案:

答案 0 :(得分:3)

可以使用SUBSTRING_INDEX实现此目的。

Read here to know more about SUBSTRING_INDEX

<强>查询

SELECT SUBSTRING_INDEX
(
   SUBSTRING_INDEX
  (
    `path`,'/',2
  ),'/',-1
)AS `path`  
FROM myTable;

Fiddle demo

答案 1 :(得分:2)

您可以使用substring_index()函数来实现此目的。

mysql> select substring_index(substring_index('home/MYPATH1/xxx/yyy','/',2),'/',-1) as path;
+---------+
| path    |
+---------+
| MYPATH1 |
+---------+

mysql> select substring_index(substring_index('home2/MYPATH2/xxxx/yyyy','/',2),'/',-1) as path;
+---------+
| path    |
+---------+
| MYPATH2 |
+---------+
1 row in set (0.00 sec)