我有一个包含列中URL的数据库表。我想根据用户所在的页面显示某些数据,如果不是直接匹配,则默认为“父”页面。如何找到值是提交的URL的一部分的列?
EG。我有www.example.com/foo/bar/baz/here.html;我希望看到(在对列值的长度进行排序后):
如果所有这些URL当然都在表中。
是否有内置功能或是否需要创建程序?谷歌搜索不断让我喜欢LIKE和REGEXP,这不是我需要的。我认为单个查询比切断URL和进行多个查询(URL可能包含许多路径组件)更有效。
答案 0 :(得分:1)
简单转过“赞”操作符:
SELECT * FROM urls WHERE "www.example.com/foo/bar/baz/here.html" LIKE CONCAT(url, "%");