【发布时间】:2019-04-13 13:45:52
【问题描述】:
我想查询 https:// 或 http:// 及其后面的第一个分隔符之间的字符串。例如,如果该字段包含:
https://google.com/en/
https://www.yahoo.com?en/
我想得到:
google.com
www.yahoo.com
将捕获/ 的初始查询仅包含两个子字符串索引,如下所示:
SELECT substring_index(substring_index(mycol,'/',3),'://',-1)
FROM mytable;
现在我发现 URL 可能包含多个分隔符。我希望我的状态能够捕获多个分隔符的可能性(每个分隔符都是一个单独的字符):
:/?#[]@!$&'()*+,;=
如何在我的声明中做到这一点?我尝试了this solution,但最终结果由于语法错误而无法执行命令,而我确信我遵循了解决方案。谁能帮我正确构建查询以捕获我上面列出的所有分隔符?
我在 Ubuntu 18.04 上使用 MySQL workbecnh 6.3。
编辑:
在第一个 URL 示例中进行了一些更正。
【问题讨论】:
标签: mysql sql database substring relational-database