我有一个在列中包含 URL 的数据库表。我想根据用户所在的页面显示某些数据,如果不是直接匹配,则默认为“父”页面。如何找到值是提交 URL 的一部分的列?
例如。我有 www.example.com/foo/bar/baz/here.html;我希望看到(在对列值的长度进行排序之后):
- www.example.com/foo/bar/baz/here.html
- www.example.com/foo/bar/baz
- www.example.com/foo/bar
- www.example.com/foo
- www.example.com
当然,如果所有这些 URL 都在表中。
是否有内置函数或者我需要创建一个程序?谷歌搜索不断让我喜欢和 REGEXP,这不是我需要的。我认为单个查询比截断 URL 并进行多个查询(URL 可能包含许多路径组件)要高效得多。