使用MySQL Query

时间:2015-09-23 13:17:02

标签: mysql string split

我正在尝试从MySQL数据库中检索字符串,字符串如下所示: /test/examplepath/userlog.txt

我需要的只是要在SELECT语句中检索的字符串的前两部分(/test/examplepath)。第二位也不是设定量。我尝试使用SUBSTRING_INDEX并更改字符串以创建更多唯一的起始/终点。还尝试过CONCAT将第一部分和第二部分连接在一起,但是由于正斜杠冲突,使用SUBSTRING_INDEX来检索我的数据无济于事。

这是我写的一个示例查询: SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(column, '/test/', -1), '/', 1) FROM table WHERE column LIKE '/test%'。这将检索第二位,但我需要将第一位加到它上。

我知道如果我使用Ruby或Visual Studio,我可以拆分字符串或使用Regex,但我需要能够在MySQL查询中执行此操作,因为我需要能够复制更多字符串可能不是/test/。我是否正确使用SUBSTRING?是否有更好的方法可以使用CONCAT检索/test/部分和下一部分?

1 个答案:

答案 0 :(得分:2)

使用AKJ88的建议解决并由luoluo澄清:

SELECT SUBSTRING_INDEX(column, '/', 3) FROM table WHERE column LIKE '/test%'

更改SUBSTRING中的数字允许我进一步浏览字符串。感谢那些贡献的人。