首页 > 解决方案 > 从可变长度链接MYSQL中提取str

问题描述

我找不到执行以下查询的方法。

给定一个链接:

/trips/oneway/type/2/f/**996**/t/**710**/d/**2020-04-22**/iR/0/l/es/p/1
OR    
/trips/oneway/type/2/f/**8890**/t/**9088**/d/**2020-06-10**/iR/1/c/**2020-06-17**/l/es/p/1

我需要提取以粗体标记的 str :这些是=在f//t/之间,

t//d/之间的代码

d//iR/之间。

我不能用 substring_index() 来做到这一点,因为索引会根据代码的长度而变化..

有人可以帮我吗!!!

谢谢!

标签: mysqlsqldatabasedbeaver

解决方案


假设这些代码在字符串中只有一次,您可以使用substring_index()

substring_index(substring_index(url, 'f/', -1), '/t/', 1)
substring_index(substring_index(url, 't/', -1), '/d/', 1)
substring_index(substring_index(url, 'd/', -1), '/iR/', 1)

推荐阅读